大数据架构 :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 引擎,您需要按照以下步骤进行配置:

  1. 下载并安装 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_HOME
    export SPARK_HOME=/opt/module/spark-2.3.0
    export PATH=$PATH:$SPARK_HOME/bin

    然后,使环境变量生效:

    source /etc/profile.d/my_env.sh
  2. 配置 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>
  3. 上传 Spark 的 jar 包至 HDFS

    • 将 Spark 的 jar 包上传到 HDFS 的指定目录:
    hdfs dfs -mkdir -p /spark-jars
    hdfs dfs -put /opt/module/spark/jars/* /spark-jars/
  4. 测试 Hive on Spark

    • 启动 Hive 客户端并执行一些测试查询以确保 Spark 作为执行引擎正常工作。

查询验证

引擎查询