加载和分组记录后,如何将这些分组的记录存储到多个文件中,每组一个(=userid)?
records = LOAD 'input' AS (userid:int, ...); grouped_records = GROUP records BY userid;
我使用的是apache pig版本0.8.1-cdh3u3(rexported)
kyvafyod1#
实际上,piggybank中有一个multistorage类,它完全符合我的要求—它通过指定的属性(在我的示例中的索引“0”处)拆分记录:
STORE records INTO 'output' USING org.apache.pig.piggybank.storage.MultiStorage('output', '0', 'none', ',');
8hhllhi22#
A = LOAD 'mydata' USING PigStorage() as (a, b, c); STORE A INTO '/my/home/output' USING MultiStorage('/my/home/output','0', 'bz2', '\\t');
参数:parentpathstr-父输出目录路径splitfieldindex-关键字字段索引压缩-“bz2”、“bz”、“gz”或“无”fielddel—输出记录字段分隔符。参考:grepcode
2条答案
按热度按时间kyvafyod1#
实际上,piggybank中有一个multistorage类,它完全符合我的要求—它通过指定的属性(在我的示例中的索引“0”处)拆分记录:
8hhllhi22#
参数:
parentpathstr-父输出目录路径
splitfieldindex-关键字字段索引
压缩-“bz2”、“bz”、“gz”或“无”
fielddel—输出记录字段分隔符。
参考:grepcode