【问题标题】:concatenate multi records in pig连接pig中的多条记录
【发布时间】:2025-12-14 21:20:10
【问题描述】:

我想使用 Pig 连接所有记录。 加载带有“pigStorage”和“-tagFile”标签的数据后,我的数据如下所示:

(filename, aaaaaaaaaaa)
(filename, bbbbbbbbbbbbbb)

而我更喜欢的结果是:

(filename, aaaaaaaaaaabbbbbbbbbbbbbb)

然后我可以将数据以文件名作为rowkey存储到HBase中。

任何建议将不胜感激。

【问题讨论】:

    标签: hbase apache-pig user-defined-functions


    【解决方案1】:

    按文件名对数据进行分组,然后使用BagToString 将所有包连接到一个字符串。

    B = GROUP A BY filename;
    C = FOREACH B GENERATE group,BagToString(A.$1,'');
    DUMP C; 
    

    【讨论】:

    • 感谢您的回复,我已经尝试过了,我得到了 (filename, {(filename,aaaaaaaa),(filename, bbbbbbbbbbb)}。我还尝试删除元组中的文件名,并得到(文件名,{(aaaaaaaaa),(bbbbbbbbbbbb)}