【数据仓库】Hive环境搭建和基础用法

您所在的位置:网站首页 hive数据仓库搭建好的 【数据仓库】Hive环境搭建和基础用法

【数据仓库】Hive环境搭建和基础用法

2024-06-05 11:16| 来源: 网络整理| 查看: 265

简介

Hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,是一个可以对Hadoop中的大规模存储的数据进行查询和分析存储的组件,Hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行,使用成本低,可以通过类似SQL语句实现快速MapReduce统计,使MapReduce变得更加简单,而不必开发专门的MapReduce应用程序。hive十分适合对数据仓库进行统计分析。

一、Hive基础简介 1、基础描述

Hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,是一个可以对Hadoop中的大规模存储的数据进行查询和分析存储的组件,Hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行,使用成本低,可以通过类似SQL语句实现快速MapReduce统计,使MapReduce变得更加简单,而不必开发专门的MapReduce应用程序。hive十分适合对数据仓库进行统计分析。

2、组成与架构

在这里插入图片描述

用户接口:ClientCLI、JDBC访问Hive、WEBUI浏览器访问Hive。

元数据:Hive将元数据存储在数据库中,如mysql、derby。Hive中的元数据包括表的名字,表的列和分区以及属性,表的属性(是否为外部表等),表的数据所在目录等。

驱动器:基于解释器、编辑器、优化器完成HQL查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。

执行器引擎:ExecutionEngine把逻辑执行计划转换成可以运行的物理计划。

Hadoop底层:基于HDFS进行存储,使用MapReduce进行计算,基于Yarn的调度机制。

Hive收到给客户端发送的交互请求,接收到操作指令(SQL),并将指令翻译成MapReduce,提交到Hadoop中执行,最后将执行结果输出到客户端。

二、Hive环境安装 准备安装包

hive-3.1.2,依赖Hadoop集群环境,位置放在 hadoop102 服务上。

解压重命名 tar -zxvf apache-hive-hive-3.1.2-bin.tar.gz mv apache-hive-hive-3.1.2-bin/ hive-3.1.2 修改配置文件

创建配置文件

[codingce@linuxmxz conf]$ pwd /opt/module/hive-3.1.2/conf [codingce@linuxmxz conf]$ mv hive-env.sh.template hive-env.sh

添加内容

[codingce@linuxmxz conf]$ vim hive-env.sh export HADOOP_HOM=/opt/module/hadoop-3.1.1 export HIVE_CONF_DIR=/opt/module/hive-3.1.2/conf

[codingce@linuxmxz conf]$ vim /etc/profile.d/my_env.sh

# JAVA_HOME export JAVA_HOME=/opt/module/jdk1.8.0_221 export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar #HADOOP_HOME export HADOOP_HOME=/opt/module/hadoop-3.1.1 export PATH=$PATH:$HADOOP_HOME/bin export PATH=$PATH:$HADOOP_HOME/sbin #ZOOKEEPER_HOME export ZOOKEEPER_HOME=/opt/module/zookeeper-3.5.6 export PATH=.:$HADOOP_HOME/bin:$ZOOKEEPER_HOME/bin:$JAVA_HOME/bin:$PATH # HBASE_HOME export HBASE_HOME=/opt/module/hbase-2.2.7 export PATH=$HBASE_HOME/bin:$PATH # HIVE_HOME export HIVE_HOME=/opt/module/hive-3.1.2 export PATH=$PATH:$HIVE_HOME/bin

配置内容一个是Hadoop路径,和hive配置文件路径。

创建hive-site.xml [codingce@linuxmxz conf]$ vim hive-site.xml hive.metastore.warehouse.dir /usr/local/hadoop/hive/warehouse location of default database for the warehouse javax.jdo.option.ConnectionURL jdbc:mysql://localhost:3306/metastore JDBC connect string for a JDBC metastore javax.jdo.option.ConnectionDriverName com.mysql.cj.jdbc.Driver Driver class name for a JDBC metastore javax.jdo.option.ConnectionPassword 1234567 javax.jdo.option.ConnectionUserName root Username to use against metastore database

在lib文件夹导入mysql jar 包

Hadoop配置

首先启动hdfs和yarn;然后在HDFS上创建/tmp和/user/hive/warehouse两个目录并修改赋予权限。

hadoop fs -mkdir /tmp hadoop fs -mkdir -p /user/hive/warehouse hadoop fs -chmod g+w /tmp hadoop fs -chmod g+w /user/hive/warehouse 启动Hive hive 基础操作

查看数据库

hive> show databases ;

选择数据库

hive> use default;

查看数据表

hive> show tables;

创建数据库使用

hive> create database mytestdb; hive> show databases ; default mytestdb hive> use mytestdb;

创建表

create table hv_user (id int, name string, age int);

查看表结构

hive> desc hv_user; id int name string age int

添加表数据

insert into hv_user values (1, "test-user", 23);

查询表数据

hive> select * from hv_user ;

注意:这里通过对查询日志的观察,明显看出Hive执行的流程。

删除表

hive> drop table hv_user ;

退出Hive

hive> quit;

查看Hadoop目录

# hadoop fs -ls /user/hive/warehouse /user/hive/warehouse/mytestdb.db

通过Hive创建的数据库和数据存储在HDFS上。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3