gpt4 book ai didi

hadoop - 在 Apache Pig 中合并两个数据集

转载 作者:可可西里 更新时间:2023-11-01 14:50:15 25 4
gpt4 key购买 nike

我有两个 hbase 输入别名:

X:
(a1,b2)
(a2,b2)
...
(an,bn)

Y:
(c1)
(c2)
...
(cn)

现在我想“加入”两个别名:X 的第一行和 Y 的第一行。最终结果应该是:

RESULT:
(a1,b1,c1)
(a2,b2,c2)
...
(an,bn,cn)

我该怎么做?

最佳答案

Pig 的一个基本原则是顺序无关紧要。更一般地说,关系是元组的集合,而不是元组的列表。如果顺序对您的数据很重要,那么它应该反射(reflect)在数据本身中,而不是数据恰好存储的方式。

不过,如果您可以保证在加载数据时 Pig 会按照您希望的顺序处理数据,则确实存在解决方法。使用 DataFu 中的 Enumerate UDF :

Xenum = FOREACH (GROUP X ALL) GENERATE FLATTEN(Enumerate(X));
Yenum = FOREACH (GROUP Y ALL) GENERATE FLATTEN(Enumerate(Y));
RESULT = FOREACH (JOIN Xenum BY i, Yenum BY i) GENERATE a, b, c;

关于hadoop - 在 Apache Pig 中合并两个数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18185749/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com