数据平台安装配置-SparkSQL with Hive

SparkSQL 与 Hive 整合

前提: 已经配置好 Hive, Spark.

配置 SparkSQL 数据源

  • $HIVE_HOME/conf/ 中的 hive-site.xmlhive-log4j.properties 复制到 $SPARK_HOME/conf 中. 如果 $SPARK_HOME/conf 中没有 hive-site.xml, 那么 spark-sql,
    spark beeline 不能正确获取 hive table 中的元数据和正确查询.
  • $SPARK_HOME/conf/spark-env.sh 中添加 HIVE_HOME, SPARK_CLASSPATH:

    1
    2
    export HIVE_HOME=/home/hadoop/workspace/hive-1.2.1
    export SPARK_CLASSPATH=$HIVE_HOME/lib/mysql-connector-java-5.1.37-bin.jar:$SPARK_CLASSPATH
  • 可以设置 Spark 中的 log4j 配置文件, 使屏幕不打印额外 INFO 信息:
    log4j.rootCategory=WARN, console

  • 重新启动 spark

  • 启动 thriftserver, spark sql 提供了 thrift server, 其功能相当于 hiveServer2, 提供 beeline 或 jdbc 客户端.

    $SPARK_HOME/sbin/start-thriftserver.sh –hiveconf hive.server2.thrift.port=10115

SparkSQL 验证


使用连接 URL “jdbc:hive2://h16:10115/mydb” 连接 SparkSQLthrift server 中.

参考资料


SparkSQL 和 Hive 整合
SparkSQL 和 Hive 整合