Spark On Hive 的配置:
- 在 Spark 客户端配置 Hive On Spark
- 在 Spark 客户端安装包下 spark-2.3.1/conf 中创建文件 hive- site.xml:
<configuration>
<property>
<name>hive.metastore.uris</name>
<value>thrift://192.168.134.103:9083</value>
</property>
</configuration>
- 启动 Hive 的 metastore 服务
hive --service metastore &
- 启动 zookeeper 集群,启动 HDFS 集群。
- 在客户端node4上启动 SparkShell 读取 Hive 中的表总数
[root@node4 bin]# ./spark-shell --master spark://node1:7077
scala> spark.sql("show databases").show()
+------------+
|databaseName|
+------------+
| default|
+------------+
- 在node3上启动hive创建spark表
hive> create database spark;
OK
Time taken: 3.207 seconds
hive> show databases;
OK
default
spark
Time taken: 0.044 seconds, Fetched: 2 row(s)
- 在node4上用SparkShell 查看表总数
scala> spark.sql("show databases").show()
+------------+
|databaseName|
+------------+
| default|
| spark|
+------------+
注意:
如果使用 Spark on Hive 查询数据时,出现错误:
找不到 HDFS 集群路径,要在客户端机器 conf/spark-env.sh 中设置 HDFS 的路径:
8. spark 对比 hive 中查询同一表查询总数测试时间。
hive查询976306行数据时间:88.874秒
spark查询相同数据用时20.26秒