Databricks 光子与催化剂优化器
Databricks photon vs catalyst Optimizer
我正在阅读有关由光子提供动力的 delta 引擎的新数据块功能。从我阅读的理解来看,我觉得它类似于催化剂优化器。光子会取代催化剂吗
光子引擎与催化剂优化器有何不同
下面提到link
https://databricks.com/blog/2020/06/24/introducing-delta-engine.html
催化剂优化器仅适用于 Spark Sql。 Catalyst 正在处理您为 spark sql 编写的代码,例如 DataFrame 操作、过滤等。 Photon 是增量存储查询引擎,适用于 Databricks 中的新分析功能。它链接到增量存储引擎。
本质上,它们是略有不同的工具,每个工具专门用于优化不同的查询。它们都是 spark 兼容的,但 photon 与 delta 相关联,因此将它们分开是有意义的,因为并不是每个人都在使用 delta。
我认为您将两件事混为一谈:
- Catalyst 优化器即将出现“执行查询的步骤”。例如,优化器将决定如何以及何时进行连接、聚合、过滤器等。何时应该做什么。这在技术术语中也称为“Physical Plan”。 (催化剂优化器更适合逻辑规划,但这是一个更精细的细节)
- 执行引擎实际上是执行优化器决定的步骤的引擎。它不会再猜测这些步骤,而是确保尽可能高效地执行它们。
Delta Engine(或 Photon)是一个执行引擎,而不是优化器。它与目前开源 Spark 中可用的 Tungsten(全阶段代码生成)执行引擎更直接可比。 Tungsten 和 Delta-Engine 都是执行引擎。
我正在阅读有关由光子提供动力的 delta 引擎的新数据块功能。从我阅读的理解来看,我觉得它类似于催化剂优化器。光子会取代催化剂吗
光子引擎与催化剂优化器有何不同
下面提到link
https://databricks.com/blog/2020/06/24/introducing-delta-engine.html
催化剂优化器仅适用于 Spark Sql。 Catalyst 正在处理您为 spark sql 编写的代码,例如 DataFrame 操作、过滤等。 Photon 是增量存储查询引擎,适用于 Databricks 中的新分析功能。它链接到增量存储引擎。 本质上,它们是略有不同的工具,每个工具专门用于优化不同的查询。它们都是 spark 兼容的,但 photon 与 delta 相关联,因此将它们分开是有意义的,因为并不是每个人都在使用 delta。
我认为您将两件事混为一谈:
- Catalyst 优化器即将出现“执行查询的步骤”。例如,优化器将决定如何以及何时进行连接、聚合、过滤器等。何时应该做什么。这在技术术语中也称为“Physical Plan”。 (催化剂优化器更适合逻辑规划,但这是一个更精细的细节)
- 执行引擎实际上是执行优化器决定的步骤的引擎。它不会再猜测这些步骤,而是确保尽可能高效地执行它们。
Delta Engine(或 Photon)是一个执行引擎,而不是优化器。它与目前开源 Spark 中可用的 Tungsten(全阶段代码生成)执行引擎更直接可比。 Tungsten 和 Delta-Engine 都是执行引擎。