【问题标题】:What is the difference between 'Hive on Spark mode' and 'Spark SQL'? Will 'Hive on Spark mode' uses Catalyst Optimizer?“Hive on Spark 模式”和“Spark SQL”有什么区别? “Hive on Spark 模式”是否会使用 Catalyst Optimizer?
【发布时间】:2018-05-28 02:11:36
【问题描述】:
  • Hive on Spark 模式与 MR 模式
  • Spark SQL
  • 催化剂优化剂/RDD/钨

【问题讨论】:

  • 你应该在 Tez 上使用 Hive 而不是 MR 模式......

标签: apache-spark hive apache-spark-sql


【解决方案1】:

Hive on Spark 不同于通过 HiveContext 使用 Spark SQL 运行 Hive 查询。它不会将查询转换为 Spark 原语,而是将其转换为 MapReduce 原语并在 Spark 上执行。其主要目的是利用 Spark 执行引擎,而不影响 Hive 中的现有代码。

在内部,它将 Hive 的逻辑运算符转换为 Spark 任务,主要是 RDD 转换和操作,并且尚未使用 Dataframe(根据官方文档),因此它不使用 Tungsten 或 Catalyst Optimizer。

以下文档提到了官方文档中提供的 Hive on Spark 的所有设计注意事项 -

Hive on Spark Mode Design

【讨论】:

  • 感谢您提供详细信息。将 HQL 查询/批处理代码转换为 Spark SQL(或 HiveContext)代码会提高性能吗?
  • 这取决于您尝试执行的操作,直接将它们放入 hiveContext 可能并非在所有情况下都有帮助,您需要了解 Spark 内部结构以在某些情况下优化和调整这些操作。跨度>
猜你喜欢
  • 2015-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-04
  • 1970-01-01
相关资源
最近更新 更多