赞
踩
目录
Spark SQL是Spark处理结构化数据的模块。本节中将Spark SQL和Hive以及Hbase集成,实现离线数据的分析。Hive和Hbase的集成请参阅:Hive+Mysql+Hbase集成配置实现离线数据分析
说明:三台机器的主机名分别为:bigdata.centos01、bigdata.centos02、bigdata.centos03
服务分布:
bigdata.centos01 | bigdata.centos02 | bigdata.centos03 | |
---|---|---|---|
Spark (v2.2.0) | Spark (Master&Worker) | ||
Hive (v0.13.1) | Hive | ||
(0.98.6) | master regionServer | master(后备) regionServer | regionServer |
- # bigdata.centos03
- scp conf/hive-site.xml bigdata.centos02:/opt/modules/spark-2.2.0-bin/conf
- <!-- 配置hive metastore服务地址 -->
- <property>
- <name>hive.metastore.uris</name>
- <value>thrift://bigdata.centos03:9083</value>
- </property>
scp lib/mysql-connector-java-5.1.35.jar bigdata.centos02:/opt/modules/spark-2.2.0-bin/jars
bin/hive --service metastore
bin/spark-shell
scala> spark.sql("select * from test.u_data").show()
Spark SQL和Hbase的集成,其核心就是Spark SQL通过Hive外部表来获取Hbase表的数据。
- # hbase
- hbase-client-0.98.6-cdh5.3.9.jar
- hbase-common-0.98.6-cdh5.3.9.jar
- hbase-protocol-0.98.6-cdh5.3.9.jar
- hbase-server-0.98.6-cdh5.3.9.jar
- htrace-core-2.04.jar
-
- # hive
- # 由于spark编译未指定hive的版本号,默认版本是1.2.1,而我用的hive版本是0.13.1
- # 故而需要额外下载hive-hbase-handler-1.2.1.jar放入spark jars目录
- # 总而言之:jar包版本号要和spark编译的hive版本号一致
- hive-hbase-handler-1.2.1.jar
bin/spark-shell
scala> spark.sql("select * from test.weblogs limit 2").show()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。