优化器在 Apache Pig 架构中做了啥?
Posted
技术标签:
【中文标题】优化器在 Apache Pig 架构中做了啥?【英文标题】:What does optimizer do in Apache Pig architecture?优化器在 Apache Pig 架构中做了什么? 【发布时间】:2018-11-15 06:55:00 【问题描述】:我是 Apache Pig 的新手,并试图了解它的架构。
链接引用 - https://www.tutorialspoint.com/apache_pig/apache_pig_architecture.htm
谁能解释优化器在 Apache Pig 架构中的作用是什么?
上面写着:
Parser生成的有向无环图传递给逻辑优化器,由逻辑优化器进行投影、下推等逻辑优化。
我不清楚projection
和pushdown
是什么意思。
【问题讨论】:
【参考方案1】:Pig 完成了许多优化,您可以在此处阅读有关它们的更多信息:https://pig.apache.org/docs/latest/perf.html#optimization-rules。让我们更深入地看看您提到的优化:
下推优化
Pushdown
或 predicate-pushdown
是 Pig、Hive、Spark、SQL 等许多语言中的常见优化。predicate-pushdown
概念的要点(来源:http://www.dbms2.com/2014/07/15/the-point-of-predicate-pushdown/):
在 Pig 的范围内,PredicatePushdownOptimizer
,优化器将相关的过滤条件推送到加载器作为提示,以便尽可能早地在数据 ETL 管道中过滤掉数据。 (参考:https://pig.apache.org/docs/latest/perf.html#optimization-rules#PredicatePushdownOptimizer)
投影优化
Projection
或 ColumnMapKeyPrune
是 Pig 进行的优化,用于修剪加载器以仅加载必要的列。相应的加载器当然必须支持列修剪。此优化也与pushdown
优化具有相同的想法,通过在数据 ETL 管道中尽可能早的步骤限制数据。 (参考:https://pig.apache.org/docs/latest/perf.html#optimization-rules#ColumnMapKeyPrune)
【讨论】:
以上是关于优化器在 Apache Pig 架构中做了啥?的主要内容,如果未能解决你的问题,请参考以下文章
UrlEncodedFormEntity 在 Apache HttpClient 4 中做了啥?