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。

确保您启用了多广告优化,并且您正在运行此脚本,例如

bash> pig script.pig

而不是将代码复制并粘贴到grunt外壳中。

最新更新