Spark SQL是从Shark发展而来。Spark SQL是Spark用来处理结构化数据的一个模块,它在RDD之上抽象出来Dataset/Dataframe,并且可以充当分布式SQL查询引擎。
本项目使用Spark SQL进行离线分析,批量处理用户行为日志,对用户行为进行分析。
离线分析过程:
Spark SQL与Hive、Mysql、Hbase集成,其核心就是Spark SQL通过hive外部表来获取HBase的表数据。
所以整个集成过程分为3步:
- Spark SQL与Hive集成
- Spark SQL与Mysql集成
- Spark SQL与HBase集成
1、Spark SQL与Hive集成
Spark SQL与Hive集成,只需要三步:
- 将hive的配置文件hive-site.xml拷贝到spark的conf目录下,并进行修改
- 拷贝MySQL驱动包
- 修改Spark配置文件spark-env.sh文件,指定HADOOP的主目录
(1)修改hive-site配置文件
登录namenode节点,进入hive的conf目录,修改hive-site.xml配置文件添加如下内容。
gedit hive-site.xml
<property>
<name>hive.metastore.uris</name>
<value>thrift://namenode:9083</value>
</property>
然后将hive的配置文件hive-site.xml拷贝到spark的conf目录下。