赞
踩
项目中用hive处理数据,但是hive默认处理引擎是MR,速度比较拉垮。
在此记录分享一下hive on spark的配置。
基于Spark的Hive,实质上是将Hive默认的计算引擎MapReduce替换成Spark。
hive on spark简介可查看:https://cwiki.apache.org/confluence/display/Hive/Hive+on+Spark
hive和spark版本兼容。这个版本兼容不是强制的,但是它给的这个是肯定可以跑的。
Hive Version | Spark Version |
---|---|
master | 2.3.0 |
3.0.x | 2.3.0 |
2.3.x | 2.0.0 |
2.2.x | 1.6.0 |
2.1.x | 1.6.0 |
2.0.x | 1.5.0 |
1.2.x | 1.3.1 |
1.1.x | 1.2.0 |
安装的spark,必须是一个不包含hive的jar包的版本。
但是一般spark发行版都是有hive依赖的,所以要手动编译源码来获得不包含hive相关jar的spark二进制包。
spark源码包下载地址:http://archive.apache.org/dist/spark/
./make-distribution.sh --name "hadoop2-without-hive" --tgz "-Pyarn,hadoop-provided,hadoop-2.4,parquet-provided"
./dev/make-distribution.sh --name "hadoop2-without-hive" --tgz "-Pyarn,hadoop-provided,hadoop-2.7,parquet-provided"
./dev/make-distribution.sh --name "hadoop2-without-hive" --tgz "-Pyarn,hadoop-provided,hadoop-2.7,parquet-provided"
编译完成后,在目录下会出现spark-1.5.1-bin-hadoop2-without-hive.gz
。
将包解压即可。
yarn必须使用公平调度机制。
使用yarn.resourcemanager.scheduler.class=org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler
来配置
spark-assembly jar
放到HIVE_HOME/lib
下spark-assembly jar
。在Yarn模式运行时,需要将以下三个包放在HIVE_HOME/lib
下 :scala-library、spark-core、spark-network-common。这个可以在hive-site.xml
中配置,也可以直接通过set hive.execution.engine=spark;
来指定。
可以将spark-defaults.conf
放在hive classpath下,也可以在hive-site.xml
中配置。
set spark.home=/usr/spark
set spark.master=<Spark Master URL>
set spark.eventLog.enabled=true;
set spark.eventLog.dir=<Spark event log folder (must exist)>
set spark.executor.memory=512m;
set spark.serializer=org.apache.spark.serializer.KryoSerializer;
Hive 2.2.0之前的版本,将spark-assembly jar
上传到hdfs中,并在hive-site.xml
中添加如下内容:
<property>
<name>spark.yarn.jar</name>
<value>hdfs://xxxx:8020/spark-assembly.jar</value>
</property>
Hive 2.2.0之后的版本,上传$SPARK_HOME/jars
下的jar包到hdfs的文件夹中,并在hive-site.xml
中配置:
<property>
<name>spark.yarn.jars</name>
<value>hdfs://xxxx:8020/spark-jars/*</value>
</property>
set hive.execution.engine=spark;
执行sql,就会转换为spark的task来执行。
https://blog.csdn.net/weixin_43860247/article/details/89184081
https://www.cnblogs.com/linbingdong/p/5806329.html
https://blog.csdn.net/mycafe_/article/details/79132727
https://cwiki.apache.org/confluence/display/Hive/Hive+on+Spark
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。