我正在编写一个包含许多操作的冗长的Pig Latin脚本。有时,操作的唯一目的是获得中间关系X
,后来转换或丰富到Y
,X
停止感兴趣。猪会让X
在某处(例如在记忆中或在HDFS中)实现,我是否应该担心"释放" X
?或者这是Pig和Hadoop之间的照顾吗?
奖金问题:如果在MapReduce上的猪,猪上的Tez和Spark上的猪之间运行时处理这些中间值有任何有趣的差异,那么也可以了解它。
答案 0 :(得分:1)
Pig使用Lazy Execution进行评估。懒惰评估的一些功能是
Pig解释器在您提交查询后计算DAG。您可以在grunt shell中使用 EXPLAIN 命令查看pig使用的执行计划。