大数据架构 :lambda 架构,hsap 架构,流批一体
Hive 官网关于 spark on hive
# 一、spark on hive 和 hive on spark 的区别和联系
spark on hive:Spark on Hive 是 Hive 只作为存储角色,Spark 负责 sql 解析优化,执行
hive on spark:
# 二、版本选择
要在 Hive 3.1.3 中更换为 Spark 2.3 引擎,您需要按照以下步骤进行配置:
-
下载并安装 Spark 2.3:
- 从 Apache Spark 官网下载 Spark 2.3.3 版本,并解压到指定目录。
tar -zxvf spark-2.3.3-bin-without-hadoop.tgz -C /opt/module/
mv /opt/module/spark-2.3.3-bin-without-hadoop /opt/module/spark-2.3.0- 配置
SPARK_HOME环境变量。
vim /etc/profile.d/my_env.sh添加以下内容:
# SPARK_HOMEexport SPARK_HOME=/opt/module/spark-2.3.0
export PATH=$PATH:$SPARK_HOME/bin
然后,使环境变量生效:
source /etc/profile.d/my_env.sh -
配置 Hive 以使用 Spark 作为执行引擎:
- 修改
hive-site.xml文件,添加以下内容:
<property><name>hive.execution.engine</name>
<value>spark</value>
</property>- 指定 Spark 的 jar 包位置(注意:端口号 8020 必须和 namenode 的端口号一致):
<property><name>spark.yarn.jars</name>
<value>hdfs://hadoop102:8020/spark-jars/*</value>
</property> - 修改
-
上传 Spark 的 jar 包至 HDFS:
- 将 Spark 的 jar 包上传到 HDFS 的指定目录:
hdfs dfs -mkdir -p /spark-jars
hdfs dfs -put /opt/module/spark/jars/* /spark-jars/ -
测试 Hive on Spark:
- 启动 Hive 客户端并执行一些测试查询以确保 Spark 作为执行引擎正常工作。