apache-spark - Catalyst 优化器和 Project Tungsten 的作用是什么
问题描述
我不清楚 Catalyst 优化器和 Project Tungsten 的作用。
我的理解是 Catalyst 优化器将从逻辑计划生成优化的物理计划。然后代码生成器将采用优化的物理计划来发出 Rdd。
代码生成器是 Project Tungsten 或 Catalyst Optimizer 的一部分吗?代码生成器是否也称为“全阶段代码生成器”?
解决方案
从 Databricks 或其他在线资源中查看 Glossar 应该可以澄清您的疑问:
钨
“Tungsten 是对 Apache Spark 执行引擎进行更改的伞形项目的代号,该引擎专注于显着提高 Spark 应用程序的内存和 CPU 效率,以使性能更接近现代硬件的极限。”
催化剂优化剂
Catalyst 优化器获取您的代码并将其转换为执行计划,最终生成用于 JVM 的紧凑代码。它经历了如下图所示的四个转型阶段:
请注意,“代码生成”阶段是 Catalyst Optimizer 中的第四个阶段。更多细节在后续部分。
WholeStage 代码生成器
“Whole-Stage CodeGen 也称为 Whole-Stage Java Code Generation,它是 Spakr SQL 中的一个物理查询优化阶段,它将多个物理操作组合在一起形成一个 Java 函数。”
推荐阅读
- javascript - Angular 将 URL 参数发送到 Web 服务
- excel - 根据2个独立单元格的组合设置单元格的值
- ios - KeyboardAvoidingView 不断调整高度
- angularjs - 什么是 AngularJS uibmodal 解决争论?
- jsf-2.2 - FlowScope getNavigationCaseFromFlowStructure 空指针错误
- ms-access - MS Access - 所有已删除项目所在的表
- r - 根据条件对 n 个对象进行 x 次采样
- javascript - 将脚本标签添加到 html 时出现 Chrome 扩展错误
- reactjs - 带有反应选择模块的打字稿。构建失败
- string - 如果这些事实中有 x 个为真,则返回 y