加入“合并”Pig拉丁相同大小的袋子

pxiryf3j  于 2021-06-25  发布在  Pig
关注(0)|答案(1)|浏览(450)

有没有办法把Pig的两个同样大小的袋子“合并”起来?
我有两个这样的包-

({(0.05,0.0),(0.05,0.0)}, {a, b})

我想要的是:

(0.05,0.0,a), (0.05,0.0,b)

(不管是袋装还是元组装)。
这似乎是超级直截了当地走自定义项的方式。有没有使用pig操作符或datafu udf的简单解决方案?

doinxwow

doinxwow1#

如果顺序不重要,那么您可以使用自定义项来执行此操作。在python中:

@outputSchema('combined:{(f1, f2, f3)}')
def combine_equal_bags(bag1, bag2):
    out = []
    for b1, b2 in zip(bag1, bag2):
        out.append(b1 + (b2,))
    return out

这是不可能只用纯Pig。

相关问题