弹性 MapReduce 配置 Hive 执行引擎

Hive 支持 MapReduce、 Tez、 Spark 作为执行引擎,弹性 MapReduce 中默认为 MapReduce ,这里说明如何在 Hive 中配置执行引擎。

相关产品
弹性 MapReduce 产品页,含版本规格、价格与购买入口。

一般情况下建议你使用执行引擎 Tez 替代 MapReduce,这样你会获得更好的计算效率。

一、开发准备

·确认你已经开通了腾讯云,并且创建了一个 EMR 集群,详情参考创建集群。

·在创建 EMR 集群时在软件配置界面选择 Hive 组件,如果需要切换 Tez 或 Spark 执行引擎,在创建集群时需要勾选对应组件。

二、配置引擎

登录 Hive 客户端,具体操作参考 Hive 连接方式,Hive 的执行引擎由 hive.execution.engine 参数配置,默认执行引擎为 mr,执行如下命令可查看当前执行引擎:

hive> set hive.execution.engine;hive.execution.engine=mr

三、在命令行中切换执行引擎

通过以下指令可以修改本次客户端会话中的执行引擎 。

修改执行引擎为 Tez:

hive> set hive.execution.engine=tez;

修改执行引擎为 Spark:

hive> set hive.execution.engine=spark;

执行完成后可以输入以下命令进行验证:

hive> set hive.execution.engine;

返回信息为你设置的执行引擎则说明配置成功。

注意:说明:

注意:以上切换执行引擎的操作只对单个客户端会话生效,由其他客户端进入或者退出后重新连接会恢复默认执行引擎。

四、在配置文件中切换执行引擎

全局切换默认执行引擎可通过 EMR 控制台 集群服务 > HIVE > 配置管理 页面,找到 hive-site.xml 配置文件,设置以下参数值:

修改执行引擎为 Tez:

hive.execution.engine = tez

修改执行引擎为 Spark:

hive.execution.engine = spark

执行保存 保存配置 > 保存并下发,并重启 HiveServer2,执行完成后即可修改 Hive 的默认执行引擎。

赞 (0)
上一篇 4天前
下一篇 4天前