我承认这不是一个很好的问题标题。
这是我的问题,我从查询中得到以下输出,其中每一行都是:
{(570349476329862),(570349476329862),(570349476329862)} {(66638102521614253348753),(66638102521614253348753),(66638102521614253348753)} 3
以上的架构是:
{{(ID1:chararray)},{(ID2:chararray)},COUNT:long}
我要做的是以CSV格式生成输出,以便可以轻松地将其输入数据库,例如把上面变成:
570349476329862,66638102521614253348753,3
我想我要把包包弄平,但是虽然这个'编译'但它不会运行。
欢迎任何想法。
由于
答案 0 :(得分:0)
如果你的包上有相同的数据,例如一组的结果,你可以做两件事:
...
B = FOREACH (GROUP A BY (COUNT, ID1, ID2))
GENERATE FLATTEN(group) AS (COUNT, ID1, ID2),
...
或使用内置功能,例如MAX
...
这与建议的datafu函数相比,你可以使用内置函数来实现这一点。
B = FOREACH (GROUP A BY COUNT) GENERATE
FLATTEN(group) AS COUNT,
MAX(A.ID1) AS ID1,
MAX(A.ID2) AS ID1,
...
我希望这会有所帮助