Hive - 如何知道我当前使用的是哪个执行引擎

Hive - How to know which execution engine I am currently using

I want to automate my hive ETL workflow in such a way that I need to execute hive jobs on the basis of execution engine (Tez or MR) because of memory constraints.

你能帮忙吗,因为我想在我的整个工作流程之间交叉检查我当前正在处理的执行引擎。

提前致谢。

Hive 执行引擎由 hive.execution.engine 属性 控制。它可以是以下之一:

  • mr(地图缩小,默认)
  • tez(Tez 执行,仅适用于 Hadoop 2)
  • spark(Spark 执行,对于 Hive 1.1.0 及更高版本)。

可以使用 hive/beeline cli

读取和更新 属性
  • 阅读 - SET hive.execution.engine;
  • 用于更新 - SET hive.execution.engine=tez;

如果您想以编程方式获取此值,则必须使用支持多种方式的 HiveClient,例如 JDBC、Java、Python、PHP、Ruby、C++等

参考资料