2017-10-04 5 views
0

私は以下の単一の生ファイルを持っており、ファイルを異なる関係に分割する必要があります。PIGで異なる関係にデータを抽出

行は0で始まる場合、完全なライン後藤関係「ヘッダ」

ラインが1で始まる場合、完全なラインべきジャンプ関係「禁止」

ラインが開始されると2と、完了する必要がありラインはず後藤関係「サブ」

ラインは3で始まる場合、完全なラインはずのgoto関係「アイテム」

ラインが4で始まる場合、完全なラインはずのgoto関係「税」

0ALH 012012050104.00.00356.0012.06001 

1980377362 HAW R 120010000IRN+000016323SABRINA D. ORTIZ           PO BOX 1764                                                KAILUA KONA    HI967451764September 2009  03.4June 2008   06.0E 00 

2980377362 8089363822 HAW 120010000SABRINA D. ORTIZ           75-1027 HENRY ST                                              KAILUA KONA    HI967403154September 2009  03.4June 2008   06.0EN00 

2980377362 8089375559 HAW 120010000SABRINA D. ORTIZ           75-1027 HENRY ST                                              KAILUA KONA    HI967403154September 2009  03.4June 2008   06.0EN00 

3980377362 8089363822    911FEEO  O   SNOTAX1001+000000066201205029-1-1 Service Fee                              0000004950533060000002163C 

3980377362 8089363822 GSMUSELASCPKG R  R   S   00000000020120502Custom Call Package                             000000495053163   

4980377362 8089363822 MSGFTM2AMM2ABUNR  L+000003000U 105  +04160000+000000125 0000000000000000495053186 

4980377362 8089363822 MSGFTM2AMM2ABUNR  L+000003000U 131  +00084600+000000003 0000000000000000495053186 

4980377362 8089363822 MSGFTM2AMM2ABUNR  L+000003000U 133  +04146600+000000124 0000000000000000495053186 

これを行うには、豚のスクリプトを教えてください。

+0

は私が故に助け – syadav

+0

を表示します)単純な投稿と便利な例があります –

+0

[この](https://pig.apache.org/docs/r0.7.0/piglatin_ref2.html#SPLITを要求して、任意の進歩を遂げることができていないあなたの努力 – syadav

答えて

1

データを1つのフィールドにロードします。最後の行は、行の最初の文字を取得し、探している値と比較し、splitを使用して異なるリレーションに格納します。

A = LOAD '/path/file.txt' USING TextLoader() as (line:chararray); 
SPLIT A INTO header IF SUBSTRING(A.line,0,1) == '0', 
      ban IF SUBSTRING(A.line,0,1) == '1', 
      sub IF SUBSTRING(A.line,0,1) == '2', 
      item IF SUBSTRING(A.line,0,1) == '3', 
      tax IF SUBSTRING(A.line,0,1) == '4'; 
DUMP header; 
DUMP ban; 
DUMP sub; 
DUMP item; 
DUMP tax; 
関連する問題