sparkSQL 整合hive
·
文章目录
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.xmlHDFS 相关的配置
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 成功了

更多推荐
所有评论(0)