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

1  Hive环境搭建---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

数仓4.0笔记——数仓环境搭建——Hive on Spark_第1张图片

 数仓4.0笔记——数仓环境搭建——Hive on Spark_第2张图片

 数仓4.0笔记——数仓环境搭建——Hive on Spark_第3张图片

 现在就可以正式部署Hive on Spark的环境了。

1.1 在Hive所在节点部署Spark

上传压缩包到/opt/software/spark

[zhang@hadoop102 software]$ mkdir spark

数仓4.0笔记——数仓环境搭建——Hive on Spark_第4张图片

 [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

数仓4.0笔记——数仓环境搭建——Hive on Spark_第5张图片

配置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

数仓4.0笔记——数仓环境搭建——Hive on Spark_第6张图片

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.master                               yarn
spark.eventLog.enabled                   true
spark.eventLog.dir                        hdfs://hadoop102:8020/spark-history
spark.executor.memory                    1g
spark.driver.memory					   1g

数仓4.0笔记——数仓环境搭建——Hive on Spark_第7张图片

在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

数仓4.0笔记——数仓环境搭建——Hive on Spark_第8张图片

 [zhang@hadoop102 spark]$ tar -zxvf spark-3.0.0-bin-without-hadoop.tgz

数仓4.0笔记——数仓环境搭建——Hive on Spark_第9张图片

 

[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/

数仓4.0笔记——数仓环境搭建——Hive on Spark_第10张图片

[zhang@hadoop102 jars]$ hadoop fs -put ./* /spark-jars

数仓4.0笔记——数仓环境搭建——Hive on Spark_第11张图片

 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

数仓4.0笔记——数仓环境搭建——Hive on Spark_第12张图片

2  Hive环境搭建---Hive on Spark测试

启动hive客户端

[zhang@hadoop102 ~]$ hive

数仓4.0笔记——数仓环境搭建——Hive on Spark_第13张图片

 

创建一张测试表

hive (default)> create table student(id int, name string);

通过insert测试效果

hive (default)> insert into table student values(1,'abc');

在执行Hive on Spark应用的时候,尤其是第一次执行任务的时候,会初始化一个spark会话,这个会话只有第一次执行任务的时候需要被启动,启动之后只要不退出hive的客户端,这个会话就不会被关闭,资源就不会释放。退出客户端时,才会释放资源。(所以第一次执行比较慢)

若结果如下,则说明配置成功

数仓4.0笔记——数仓环境搭建——Hive on Spark_第14张图片

 查一下这个数据

hive (default)> select * from student;

数仓4.0笔记——数仓环境搭建——Hive on Spark_第15张图片

 在web端看一下,http://hadoop103:8088数仓4.0笔记——数仓环境搭建——Hive on Spark_第16张图片

退出hive

 数仓4.0笔记——数仓环境搭建——Hive on Spark_第17张图片

 

你可能感兴趣的:(hive,spark,大数据)