我正在处理Pig Latin中的一个大型输入表(10 ^ 7行),其中表在某些字段上被过滤,处理后,处理后的行将返回到原始表中。当处理的行返回到原始表时,过滤器所基于的字段将被更改,以便在后续过滤中忽略已处理的字段。
在Apache Pig中首先根据过滤条件拆分已处理和未处理的表,应用处理并将两个表联合在一起或过滤第一个表,将过程应用于过滤的表并执行左使用主键连接回原始表?
答案 0 :(得分:2)
我不能说哪一个实际上运行得更快,我只是运行两个版本并比较执行时间:)
如果您选择第一个解决方案(拆分,然后加入),请确保在连接操作中指定两个表中较小的(如果有的话)(可能会是新增数据)。 Pig documentation表明这将导致性能提升,因为最后一个表“没有被带入内存而是通过流式传输”。