大数据入门第二十三天——SparkSQL(二)结合hive
一、SparkSQL结合hive
1.首先通过官网查看与hive匹配的版本
这里可以看到是1.2.1
2.与hive结合
spark可以通过读取hive的元数据来兼容hive,读取hive的表数据,然后在spark引擎中进行sql统计分析,从而,通过sparksql与hive结合实现数据分析将成为一种最佳实践。
3.hive安装与配置
略,之前已经安装
4.spark配置
将hive配置文件拷贝给spark:
cp $HIVE_HOME/conf/hive-site.xml $SPARK_HOME/conf/
// 这里记得配置一下SPARK_HOME等!
将MySQL驱动拷贝给spark:
cp $HIVE_HOME/lib/mysql-connector-java-5.1.42.jar $SPARK_HOME/lib/
// hive不是分布式的,只有一台机器
启动发现频繁报错,找到解决办法:https://www.cnblogs.com/bianqi/p/7244036.html
2. 在$SPARK_HOME/conf/目录中,修改spark-env.sh,添加
export HIVE_HOME=/usr/local/apache-hive-0.13.1-bin
注:切记SPARK_CLASSPATH这一行必须的配置:(否则报错)
export SPARK_CLASSPATH=$HIVE_HOME/lib/mysql-connector-java-5.1.15-bin.jar:$SPARK_CLASSPATH
也就是在spark-env.sh中添加如下配置:
export HIVE_HOME=/home/hadoop/apps/hive-1.2.1
export SPARK_CLASSPATH=$HIVE_HOME/lib/mysql-connector-java-5.1.42.jar:$SPARK_CLASSPATH
5.启动
可以以spark-shell的方式启动,然后通过sqlContext.sql等方式执行
也可以直接启动spark-sql,更简单直接