Spark On Hive,通过spark sql模块访问和使用Hive,默认Spark预编译(pre-built)版不包含hive相关依赖,并不支持此功能,因此需要对spark源码进行重新编译,并进行相关的配置,下面是具体操作步骤:
1.下载最新版spark源码包cd /data/soft/
wget -c http://apache.fayea.com/spark/spark-1.5.2/spark-1.5.2.tgz
tar -xzf spark-1.5.2.tgz
2.编译Spark源码
根据自己需要的hadoop版本进行编译并打成分发包cd spark-1.5.2
./make-distribution.sh --tgz --name 2.3.0 -Pyarn -Phadoop-2.3 -Dhadoop.version=2.3.0 -Phive -Phive-thriftserver
主要是通过maven进行编译,所以要下载很多依赖包,这个过程非常痛苦和漫长,可以先看一下spark-1.5.2/pom.xml文件,看看整合了哪些module,如果编译过程中报错,链接超时或者依赖包长时间无法下载,可以重试几次,或者手动在各个整合的module下面,进行预编译。
执行成功之后,会在生成一个分发包spark-1.5.2/spark-1.5.2-bin-2.3.0.tgz(注意这个包名称中的2.3.0就是前面执行命令中-name参数制定的名称)
3.部署Spark环境mkdir /data/hadoop/
tar -xzf spark-1.5.2/spark-1.5.2-bin-2.3.0.tgz -C /data/hadoop/
4.确保Hive正常