Hive简介&环境搭建

官网地址:https://hive.apache.org/
源码地址:https://github.com/apache/hive
Apache社区统一下载地址:https://archive.apache.org/dist/

1、Hive简介

Hive是使用SQL方法进行大数据量的统计分析【适合离线场景/批处理场景】

  • Hive是构建在Hadoop之上的数据仓库。Hive的数据存储在HDFS之上,Hive写的sql,然后,默认是以MR作业的方式运行在YARN之上。
  • 现在的Hive支持:MR、Tez、Spark三种执行引擎。【CDP默认的Hive就是支持Tez引擎】
  • set hive.execution.engin = mr / Tez / Spark ; 【通过这样的设置,可以切换每种引擎】

执行流程:SQL => Hive => 翻译成MR作业 => 提交到YARN上去执行

区别:

1)Hive on Spark:SQL基于HIVE,翻译成SPARK作业 【在Hive框架中】
2) Spark SQL:直接在Spark框架中写的sql作业 【在Spark框架中】

2、Hive架构解析

  • 客户端:Command-line shell【客户端命令行】、JDBC、webUI
    • Thrift:一种协议。JDBC客户端想要接入Hive的时候,其实是接入HiveServer2服务,而该服务底层就是使用Thrift协议。【Spark中使用的就是ThriftServer,底层也是Thrift协议。】
  • Metastore(元数据):描述数据的数据【Hive中最核心的部分】
    • Hive的数据存放在分布式文件系统上;元数据存放在Mysql中
    • 因为元数据存在mysql中,如果接入的spark/Impala,都可以读到mysql中的元数据,转换比较平滑。
  • derby(一个内置的数据库):默认存放MYSQL中,只能单窗口使用。
  • Driver:一个SQL经过Driver,解析成一个作业(可以是Spark作业,也可以Impala作业,可插拔的驱动)
    在这里插入图片描述

3、Hive和RDBMS区别

Hive RDBMS
面向SQL 面向SQL
统计分析,延时性比较高 “实时”:快速响应,延时性很短
支持事务(一般Hive不用) 支持事务
load加载批量数据进Hive,也支持insert、update等 insert、update等
MR/Spark/Tez分布式 分布式
节点数可以很多 节点数偏少
廉价的机器 专用的机器
P+ 。。。。。。

4、Hive环境搭建

4.1.上传jar包并解压

[root@maggie ~]$ chown -R xiaofeng:xiaofeng /home/xiaofeng/software/

//切换成xiaofeng用户
[hadoop@maggie software]$ tar -xzvf /apache-hive-3.1.2-bin.tar.gz -C ../app/
	......(解压过程省略)
[xiaofeng@maggie101 app]$ ln -s apache-hive-3.1.2-bin  hive   【设置软连接】

4.2.配置环境变量

[xiaofeng@maggie101 ~]$ vi .bashrc
	export HIVE_HOME=/home/xiaofeng/app/hive
	export PATH=$HIVE_HOME/bin:$PATH
[xiaofeng@maggie101 ~]$ sources .bashrc 【使环境变量生效】
  • 文件夹简介
[xiaofeng@maggie101 hive]$ ll      【再创建一个logs日志文件夹】
	total 76
	drwxrwxr-x 3 xiaofeng xiaofeng  4096 Nov 24 22:07 bin    【脚本相关】
	drwxrwxr-x 2 xiaofeng xiaofeng  4096 Nov 24 22:07 binary-package-licenses
	drwxrwxr-x 2 xiaofeng xiaofeng  4096 Nov 24 22:07 conf    【配置文件相关,尤其是hive-site.xml需要修改相关配置】
	drwxrwxr-x 4 xiaofeng xiaofeng  4096 Nov 24 22:07 examples 
	drwxrwxr-x 7 xiaofeng xiaofeng  4096 Nov 24 22:07 hcatalog
	drwxrwxr-x 2 xiaofeng xiaofeng  4096 Nov 24 22:07 jdbc
	drwxrwxr-x 4 xiaofeng xiaofeng 16384 Nov 24 22:07 lib
	-rw-r--r-- 1 xiaofeng xiaofeng 20798 Aug 23  2019 LICENSE
	-rw-r--r-- 1 xiaofeng xiaofeng   230 Aug 23  2019 NOTICE
	-rw-r--r-- 1 xiaofeng xiaofeng  2469 Aug 23  2019 RELEASE_NOTES.txt
	drwxrwxr-x 4 xiaofeng xiaofeng  4096 Nov 24 22:07 scripts

4.3.上传mysql驱动放到$HIVE_HOME/lib下

4.4.编辑hive-site.xml文件

  • Hive中关于参数的设置【优先级从低到高】
    1. hive-site.xml 全局的配置
    2. hive --hiveconf hive.cli.print.current.db = false; 【登录hive的同时设置配置】
    3. set key = value 【优先级稍高,但是仅仅是当前窗口生效,窗口关闭后失效】

    hive (default)> set hive.cli.print.current.db; 【相当于get】
    -------------- hive.cli.print.current.db=true
    hive (default)> set hive.cli.print.current.db = false; 【真正的set】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建Hive 3.1.3环境时,以下是一些基本的步骤: 1. 安装Java:确保你的机器上已经安装了Java。Hive 3.1.3需要Java 8或更高版本。 2. 下载Hive:从Apache Hive的官方网站(https://hive.apache.org/downloads.html)下载Hive 3.1.3的二进制文件。 3. 解压文件:将下载的文件解压到你选择的目录中。 4. 配置环境变量:设置Hive环境变量。在你的终端或命令提示符中,找到并编辑`~/.bashrc`或`~/.bash_profile`文件,并将以下内容添加到文件末尾: ```shell export HIVE_HOME=/path/to/hive export PATH=$PATH:$HIVE_HOME/bin ``` 然后运行`source ~/.bashrc`或`source ~/.bash_profile`使变量生效。 5. 配置Hadoop:Hive需要连接到一个Hadoop集群。在Hive目录中,进入`conf`文件夹,复制`hive-default.xml.template`并将其重命名为`hive-site.xml`。然后编辑`hive-site.xml`文件,设置以下属性: ```xml <property> <name>hive.execution.engine</name> <value>mr</value> </property> <property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> </property> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:derby:;databaseName=/path/to/metastore_db;create=true</value> </property> ``` 注意替换上述代码中的路径为你的Hadoop配置和元数据存储路径。 6. 启动Hive Metastore:在Hive目录中,执行以下命令启动Hive Metastore服务: ```shell schematool -dbType derby -initSchema ``` 这将初始化Hive Metastore的数据库。 7. 启动Hive CLI或Beeline:根据你的需求,可以使用Hive CLI(命令行界面)或Beeline(JDBC客户端)连接到Hive。执行以下命令启动Hive CLI: ```shell hive ``` 或者执行以下命令启动Beeline: ```shell beeline -u jdbc:hive2://localhost:10000 ``` 这将连接到本地的Hive服务。 这些步骤应该帮助你搭建Hive 3.1.3环境。根据你的需求,你可能还需要进行其他配置和调整。请参考Apache Hive的官方文档(https://cwiki.apache.org/confluence/display/Hive/Home)以获取更多详细信息和进一步的指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值