簡體   English   中英

如何使用Pig將分組記錄存儲到多個文件中?

[英]How to store grouped records into multiple files with Pig?

加載和分組記錄后,如何將這些分組記錄存儲到多個文件中,每組一個(= userid)?

records = LOAD 'input' AS (userid:int, ...);
grouped_records = GROUP records BY userid;

我正在使用Apache Pig版本0.8.1-cdh3u3(rexported)

實際上, Piggybank上有一個MultiStorage類,它正是我想要的 - 它按照指定的屬性(在我的例子中的索引'0')分割記錄:

STORE records INTO 'output' USING org.apache.pig.piggybank.storage.MultiStorage('output', '0', 'none', ',');
 A = LOAD 'mydata' USING PigStorage() as (a, b, c);  
 STORE A INTO '/my/home/output' USING MultiStorage('/my/home/output','0', 'bz2', '\\t');

參數:

  1. parentPathStr - 父輸出目錄路徑
  2. splitFieldIndex - 關鍵字段索引
  3. 壓縮 - 'bz2','bz','gz'或'none'
  4. fieldDel - 輸出記錄字段分隔符。

參考: GrepCode

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM