You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HDP集群中Spark程序切换执行引擎至Spark的正确性咨询

问题解答

这种切换方式不正确,原因如下:

  • 当你使用Spark的SQLContext(或Spark 2.x的SparkSession)操作Hive表时,查询本身就是由Spark执行引擎处理的,根本不会调用Hive的Tez引擎——你是在Spark程序中运行查询,而非通过Hive CLI/Beeline等Hive原生客户端提交任务,所以原本就不存在用Tez执行的情况。

  • hive.execution.engine是Hive自身的配置参数,作用是控制Hive任务选择Tez、MapReduce还是Spark作为执行引擎。但在Spark程序中执行sqlContext.sql("SET hive.execution.engine=spark"),只是修改了Spark SQL会话内的Hive配置项,Spark并不会基于这个参数去切换执行引擎,完全是无效操作。

  • 如果你之前是通过Hive提交任务用Tez执行,现在改成Spark程序来操作Hive表,那么程序本身就已经是用Spark引擎处理查询了,不需要额外设置这个参数。

内容的提问来源于stack exchange,提问作者Adhish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 11:25:34