替代CROSS加入Pig

时间:2015-01-15 21:23:25

标签: hadoop apache-pig

我有需要组合两个数据集的情况。这是那些

-- Dataset 1
Date         Count
2014-12-01      5
2014-11-01      3

-- Dataset 2
Date          Col1     Col2     Col3
2014-12-05    cv11     cv12     cv13
2014-12-01    cv21     cv22     cv23
2014-11-30    cv31     cv32     cv33
2014-11-01    cv41     cv42     cv43
2014-10-15    cv51     cv52     cv53

现在,我需要做的是将计数放在数据集中,如果日期在两个集合中匹配,那么将采用相应的计数值。否则,需要生成较低日期所包含的值(如果我无法正确表达问题,我真的很抱歉。请随时编辑以使其更清晰)

基本上,这是我正在寻找的输出。如果您看到2014-12-01,则计数为3,因此我们的数据集2中可用的所有日期将生成计数为3,2014-12-01之后的所有日期将在计数列中生成值5

-- Output
Date          Col1     Col2     Col3   Count
2014-12-05    cv11     cv12     cv13      5
2014-12-01    cv21     cv22     cv23      5
2014-11-30    cv31     cv32     cv33      3
2014-11-01    cv41     cv42     cv43      3
2014-10-15    cv51     cv52     cv53      3

我试图使用CROSS联接做同样的事情,但这导致我的工作花费数小时,因为两个数据集都非常大。数据集1(~500K)和数据集2(~5万亿)。

因为这两个数据集都非常笨重,所以CROSS还不够用。

还有什么可以做的吗?

0 个答案:

没有答案