Apache Pig不必要地重新运行map reduce工作

时间:2014-01-22 21:50:17

标签: hadoop apache-pig

我有几次猪工作流程,我存储多个别名。例如,我会有类似

的内容
A = LOAD 'data1' USING PigStorage()
B = LOAD 'data2' USING PigStorage()
C = ... # transformation of A
D = ... #transformation of B
E = JOIN C by fieldA, D by fieldB
# STORE E into 'foo'
F = ... # transformation of E
STORE F into 'bar'

我认为如果我没有注释存储E,它只会添加一个map-reduce作业,因为E的结果应该已经存在于临时hadoop输出文件中。在实践中,它总是添加多个作业,就像猪重新加载A和B并从头重新计算E一样。

猪什么时候需要这样做,你怎么防止它?

使用版本0.11.0。

1 个答案:

答案 0 :(得分:1)

确保您已启用Multi-Query Optimization,并且您正在运行此脚本,如

bash> pig script.pig

而不是将代码复制并粘贴到Grunt shell中。