在Apache Pig中更快的速度:分裂的速度为Union或过滤器,然后左JOIN



我当前正在处理猪拉丁中的一个大输入表(10^7行),在该表在某个字段上过滤表,处理后的行和处理后的行被返回到原始表中。当处理后的行回到原始表中时,过滤器所基于的字段会更改,因此在随后的过滤中,已忽略了处理的字段。

首先在滤波标准上首先将处理和未加工的表拆分,应用处理并将两个表换回或过滤第一台表,将过程应用于过滤表并执行左侧的表,是否更有效。使用主键重新加入原始表?

我不能说哪一个实际运行速度更快,我只会运行两个版本并比较执行时间:)

如果您选择第一个解决方案(拆分,然后加入),请确保在JOIN操作中指定两个表格中的较小(如果有)(可能是将是新添加的数据)。猪的文档表明这将导致性能改善,因为最后一个表"不是进入记忆,而是流过。"

最新更新