我正在写一个很长的Pig拉丁语脚本,里面有很多操作。有时,操作的唯一目的是获得中间关系 X
后来转化或浓缩成 Y
,在 X
不再感兴趣。Pig能保持健康吗 X
在某处具体化(例如内存或hdfs中),我应该担心“释放”吗 X
? 或者在pig和hadoop之间解决了这个问题?
额外的问题:如果在运行时处理mapreduce上的pig、tez上的pig和spark上的pig之间的中间值时有什么有趣的区别的话,那么也很高兴了解这一点。
我正在写一个很长的Pig拉丁语脚本,里面有很多操作。有时,操作的唯一目的是获得中间关系 X
后来转化或浓缩成 Y
,在 X
不再感兴趣。Pig能保持健康吗 X
在某处具体化(例如内存或hdfs中),我应该担心“释放”吗 X
? 或者在pig和hadoop之间解决了这个问题?
额外的问题:如果在运行时处理mapreduce上的pig、tez上的pig和spark上的pig之间的中间值时有什么有趣的区别的话,那么也很高兴了解这一点。
1条答案
按热度按时间cngwdvgl1#
pig使用延迟执行来评估。惰性评价的一些特征是
处理只发生在dump/store命令上
允许重新排序以进行优化
内存流水线
提交查询后,pig解释器将计算dag。您可以使用gruntshell中的explain命令查看pig使用的执行计划。