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 的配置目录
hive-site.xml
元数据仓库的位置等信息core-site.xml
安全相关的配置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 成功了
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200415083039392.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hvbmdjaGVuc2hpamll,size_16,color_FFFFFF,t_70)