hive on spark

hive on spark 是hive 使用spark作为它的执行引擎。set hive.execution.engine=spark;

hive on spark仅仅在特定版本的spark测试过,所以需要选择合适的hive版本和spark版本。hive3.0.x对应spark2.3.0,hive2.3.x对应spark2.0.0,hive2.2.x、hive2.1.x对应spark1.6.0,hive2.0.x对应spark1.5.0。

spark安装

yarn mode:

http://spark.apache.org/docs/latest/running-on-yarn.html

standalone mode:

https://spark.apache.org/docs/latest/spark-standalone.html

hive on spark 默认支持spark on yarn 模式。

安装并启动spark

1.安装spark

安装/构建兼容版本。可以在github hive项目的pom.xml中spark.version的值找出hive 各个版本测试通过的兼容的spark版本。

安装/构建兼容发行版。每个版本的spark 都有几个发行版,对应不同版本的hadoop。

2.启动spark集群

记下<spark master url>,可以在spark master webui中找到。

配置yarn

启用fair scheduler,而不使用capacity scheduler。

修改yarn-site.xml文件,添加

<property>
    <name>yarn.resourcemanager.scheduler.class</name>
    <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
</property>

配置hive

1.添加spark 依赖到hive

在hive2.2.0 之前版本,将spark-assembly jar链接到HIVE_HOME/lib。

从hive2.2.0开始,hive on spark 需要spark 2.0.0及以上版本,不再有assembly jar了。故假如以yarn mode运行(yarn-client 或者yarn-cluster),将下面jar链接到HIVE_HOME/lib:scala-library、spark-core、spark-network-common

2.配置hive execution

set hive.execution.engine=spark;

查看https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties#ConfigurationProperties-Spark了解更多配置。

3.给hive配置spark-application configs。查看http://spark.apache.org/docs/latest/configuration.html 。有两种方式,既可以通过在hive classpath下新建一个spark-defaults.conf文件,里面写配置,也可以把配置直接写在hive-site.xml中,主要配置有:

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;

配置解释:

spark.executor.memory:每一个executor进程使用的内存大小

spark.executor.cores:每一个executor进程的核心数

spark.yarn.executor.memoryOverhead:每一个executor进程分配的heap memory。

 

转载于:https://www.cnblogs.com/koushr/p/9574967.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值