spark能够经过读取hive的元数据来兼容hive,读取hive的表数据,而后在spark引擎中进行sql统计分析,从而,经过spark sql与hive结合实现数据分析将成为一种最佳实践。配置步骤以下:java
一、启动hive的元数据服务mysql
hive能够经过服务的形式对外提供元数据读写操做,经过简单的配置便可
编辑 $HIVE_HOME/conf/hive-site.xml,增长以下内容
:
<property>
<name>hive.metastore.uris</name>
<value>thrift:// master:9083</value>
</property>
启动hive metastore
[root@master apache-hive-1.2.2-bin]# ./bin/hive --service metastore 1>/dev/null 2>&1 &
查看 metastore:
[root@master apache-hive-1.2.2-bin]# jobs
[1]+ Running ./bin/hive --service metastore > /dev/null 2>&1 &
二、spark配置
将hive的配置文件拷贝给spark
将 $HIVE_HOME/conf/hive-site.xml copy $SPARK_HOME/conf/
[root@master apache-hive-1.2.2-bin]# cp ./conf/hive-site.xml /usr/local/spark-2.3.0/conf/
将mysql的jdbc驱动包拷贝给spark
将 $HIVE_HOME/lib/mysql-connector-java-5.1.12.jar copy或者软链到$SPARK_HOME/lib/
[root@master lib]# cp ./mysql-connector-5.1.8.jar /usr/local/spark-2.3.0/jars/
三、启动spark-sql的shell交互界面
[root@master lib]# spark-sql sql
四、在spark sql 中执行hive操做shell
spark-sql> show databases;
2018-06-27 09:52:08 INFO CodeGenerator:54 - Code generated in 461.952527 ms
default
hive