1. Hive开启MetaStore服务

在 $HIVE_HOME/conf/hive-site.xml中添加如下配置
    <property>
      <name>hive.metastore.warehouse.dir</name>
      <value>/user/hive/warehouse</value>
    </property>
    <property>
      <name>hive.metastore.local</name>
      <value>false</value>
    </property>
    <!-- 这个节点名改为自己的,指定端口号,也可以不指定 -->
    <property>
      <name>hive.metastore.uris</name>
      <value>thrift://node01:9083</value>
    </property>

2. 启动 metaStore 和 hiveserver2

nohup $HIVE_HOME/bin/hive --service metastore &

3. SparkSQL整合Hive MetaStore

拷贝 Hadoop 和 Hive 的配置文件到 Spark 的配置目录
  1. hive-site.xml 元数据仓库的位置等信息
  2. core-site.xml 安全相关的配置
  3. hdfs-site.xml HDFS 相关的配置
cp $HIVE_HOME/conf/site.xml   $SPARK_HOME/conf/
cp $HADOOP_HOME/etc/hadoop/core-site.xml  $SPARK_HOME/conf/
cp $HADOOP_HOME/etc/hadoop/hdfs-site.xml  $SPARK_HOME/conf/

4. 把连接mysql 依赖的jar拷贝到 $SPARK_HOME/jars/ (因为hive的元数据保存在mysql)

cp $HIVE_HOME/lib/mysql-connector-java-5.1.38.jar  $SPARK_HOME/jars/
然后在spark/shell中测试(测试前得先启动集群)
$SPARK_HOME/bin/spark-shell
测试代码如下
//首先你的hive中不止有一张表
spark.sql("show databases").show
//如果看到多张表说明 spark 整合hive 成功了

在这里插入图片描述

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐