hive|数仓4.0笔记——数仓环境搭建——Hive on Spark

1Hive环境搭建---Hive on Spark配置 注意:官网下载的Hive3.1.2和Spark3.0.0默认是不兼容的。因为Hive3.1.2支持的Spark版本是2.4.5,所以需要我们重新编译Hive3.1.2版本。
[zhang@hadoop102 ~]$ cd /opt/module/hive/lib/
[zhang@hadoop102 lib]$ ls -al | grep spark
hive|数仓4.0笔记——数仓环境搭建——Hive on Spark
文章图片

hive|数仓4.0笔记——数仓环境搭建——Hive on Spark
文章图片

hive|数仓4.0笔记——数仓环境搭建——Hive on Spark
文章图片

现在就可以正式部署Hive on Spark的环境了。
1.1 在Hive所在节点部署Spark 上传压缩包到/opt/software/spark
[zhang@hadoop102 software]$ mkdir spark
hive|数仓4.0笔记——数仓环境搭建——Hive on Spark
文章图片

[zhang@hadoop102 spark]$ tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz -C /opt/module/
[zhang@hadoop102 module]$ mv spark-3.0.0-bin-hadoop3.2/ spark
hive|数仓4.0笔记——数仓环境搭建——Hive on Spark
文章图片

配置SPARK_HOME环境变量
[zhang@hadoop102 software]$ sudo vim /etc/profile.d/my_env.sh
添加如下内容

# SPARK_HOME export SPARK_HOME=/opt/module/spark export PATH=$PATH:$SPARK_HOME/bin

hive|数仓4.0笔记——数仓环境搭建——Hive on Spark
文章图片

source 使其生效
[zhang@hadoop102 software]$ source /etc/profile.d/my_env.sh
1.2 在hive中创建spark配置文件 [zhang@hadoop102 software]$ vim /opt/module/hive/conf/spark-defaults.conf
添加如下内容
spark.masteryarn spark.eventLog.enabledtrue spark.eventLog.dirhdfs://hadoop102:8020/spark-history spark.executor.memory1g spark.driver.memory1g

hive|数仓4.0笔记——数仓环境搭建——Hive on Spark
文章图片

在HDFS创建如下路径,用于存储历史日志
[zhang@hadoop102 software]$ hadoop fs -mkdir /spark-history
1.3 向HDFS上传Spark纯净版jar包 由于Spark3.0.0非纯净版默认支持的是hive2.3.7版本,直接使用会和安装的Hive3.1.2出现兼容性问题。所以采用Spark纯净版jar包,不包含hadoop和hive相关依赖,避免冲突。
[zhang@hadoop102 module]$ hadoop fs -mkdir /spark-jars
[zhang@hadoop102 module]$ cd /opt/software/spark/
[zhang@hadoop102 spark]$ ll
hive|数仓4.0笔记——数仓环境搭建——Hive on Spark
文章图片

[zhang@hadoop102 spark]$ tar -zxvf spark-3.0.0-bin-without-hadoop.tgz
hive|数仓4.0笔记——数仓环境搭建——Hive on Spark
文章图片


[zhang@hadoop102 spark]$ cd spark-3.0.0-bin-without-hadoop/
[zhang@hadoop102 spark-3.0.0-bin-without-hadoop]$ ll
[zhang@hadoop102 spark-3.0.0-bin-without-hadoop]$ cd jars/
hive|数仓4.0笔记——数仓环境搭建——Hive on Spark
文章图片

[zhang@hadoop102 jars]$ hadoop fs -put ./* /spark-jars
hive|数仓4.0笔记——数仓环境搭建——Hive on Spark
文章图片

1.4 修改hive-site.xml文件 [zhang@hadoop102 ~]$ vim /opt/module/hive/conf/hive-site.xml
添加如下内容
spark.yarn.jars hdfs://hadoop102:8020/spark-jars/* hive.execution.engine spark

hive|数仓4.0笔记——数仓环境搭建——Hive on Spark
文章图片

2Hive环境搭建---Hive on Spark测试 启动hive客户端
[zhang@hadoop102 ~]$ hive
hive|数仓4.0笔记——数仓环境搭建——Hive on Spark
文章图片


创建一张测试表
hive (default)> create table student(id int, name string);
通过insert测试效果
hive (default)> insert into table student values(1,'abc');
在执行Hive on Spark应用的时候,尤其是第一次执行任务的时候,会初始化一个spark会话,这个会话只有第一次执行任务的时候需要被启动,启动之后只要不退出hive的客户端,这个会话就不会被关闭,资源就不会释放。退出客户端时,才会释放资源。(所以第一次执行比较慢)
若结果如下,则说明配置成功
hive|数仓4.0笔记——数仓环境搭建——Hive on Spark
文章图片

查一下这个数据
hive (default)> select * from student;
hive|数仓4.0笔记——数仓环境搭建——Hive on Spark
文章图片

在web端看一下,http://hadoop103:8088hive|数仓4.0笔记——数仓环境搭建——Hive on Spark
文章图片

退出hive
hive|数仓4.0笔记——数仓环境搭建——Hive on Spark
文章图片

hive|数仓4.0笔记——数仓环境搭建——Hive on Spark
文章图片

【hive|数仓4.0笔记——数仓环境搭建——Hive on Spark】

    推荐阅读