存储/展平包,以便以csv格式输出

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

我承认这不是个好问题。
我的问题是,我有一个查询的以下输出,其中每一行都是这样的:

{(570349476329862),(570349476329862),(570349476329862)} {(66638102521614253348753),(66638102521614253348753),(66638102521614253348753)} 3

上述模式为:

{{(ID1:chararray)},{(ID2:chararray)},COUNT:long}

我要做的是以csv格式生成输出,以便可以轻松地将其接收到数据库中,例如,将上述内容转换为:
570349476329862,66638102521614253348753,3
我想我想把袋子弄平,但尽管这个“编译”了,它还是不能运行。
欢迎有任何想法。
谢谢

hec6srdp

hec6srdp1#

如果您的行李上有相同的数据,例如一组的结果,您可以做两件事:
在分组中包含给定的字段,这样就不需要处理它了 ... B = FOREACH (GROUP A BY (COUNT, ID1, ID2)) GENERATE FLATTEN(group) AS (COUNT, ID1, ID2), ... 或使用内置函数,例如max ... B = FOREACH (GROUP A BY COUNT) GENERATE FLATTEN(group) AS COUNT, MAX(A.ID1) AS ID1, MAX(A.ID2) AS ID1, ... 与建议的datafu函数相比,它的好处是可以使用内置函数来实现。
我希望这有帮助

相关问题