Apache Pig - 处理中间别名?
Apache Pig - dispose of intermdiate aliases?
我正在编写一个包含许多操作的冗长 Pig Latin 脚本。有时,操作的唯一目的是获得一个中间关系 X
,然后将其转换或丰富为 Y
,此时 X
不再有意义。 Pig 是否让 X
在某处具体化(例如在内存或 HDFS 中),我应该担心 "freeing" X
吗?或者这在 Pig 和 Hadoop 之间得到了处理?
奖金问题:如果在运行时处理 MapReduce 上的 Pig、Tez 上的 Pig 和 Spark 上的 Pig 之间的此类中间值时存在任何有趣的差异,那么也很高兴了解这一点。
Pig 使用 Lazy Execution 进行评估。惰性求值的一些特征是
- 处理只发生在 DUMP/STORE 命令上
- 允许重新排序以进行优化
- 内存流水线
Pig 解释器会在您提交查询后计算 DAG。您可以在 grunt shell.
中使用 EXPLAIN 命令查看 pig 使用的执行计划
我正在编写一个包含许多操作的冗长 Pig Latin 脚本。有时,操作的唯一目的是获得一个中间关系 X
,然后将其转换或丰富为 Y
,此时 X
不再有意义。 Pig 是否让 X
在某处具体化(例如在内存或 HDFS 中),我应该担心 "freeing" X
吗?或者这在 Pig 和 Hadoop 之间得到了处理?
奖金问题:如果在运行时处理 MapReduce 上的 Pig、Tez 上的 Pig 和 Spark 上的 Pig 之间的此类中间值时存在任何有趣的差异,那么也很高兴了解这一点。
Pig 使用 Lazy Execution 进行评估。惰性求值的一些特征是
- 处理只发生在 DUMP/STORE 命令上
- 允许重新排序以进行优化
- 内存流水线
Pig 解释器会在您提交查询后计算 DAG。您可以在 grunt shell.
中使用 EXPLAIN 命令查看 pig 使用的执行计划