我想在Pig身上实现这一点,但不确定是否有一个有效的方法。我有一个输入文件(标题:col1,col2,col3,col4,tag)和多个“value”文件,所有这些文件的格式都相似(tag,value)。我想将每个“value”文件的“value”列与基于“tag”的输入文件作为键列附加在一起。因此,如果有3个“值”文件,那么最终组合文件的格式将是(col1、col2、col3、col4、tag、value1、value2、value3)。
我能想到的一种方法是读取每个“值”文件,然后以增量方式与输入文件连接。所以我们会有多个中间文件。就像第一个用一个值连接输入文件一样,输出将是:col1,col2,col3,col4,tag,value1。
现在它变成了新的输入文件,并与另一个“value”文件连接,输出将是col1、col2、col3、col4、tag、value1、value2。
有更好的办法吗?
1条答案
按热度按时间bcs8qyzn1#
您可以使用具有多个关系的cogroup,它只会导致一个mr job。以下代码是未经测试就输入的,但这个想法应该是可行的: