2016-11-10 4 views
3

私は2つのタプルを持つ以下のブタの袋を持っています。以下のタプルセットをブタを使用してフォーマットされたjsonに変換する方法はありますか?

私はブタを使用して上記のjsonキー値形式に変換できますか?

{ 
    1: 'kumar,23000,kandy', 
    2: 'mahela',34000,'colombo' 
} 

ご協力いただければ幸いです。私はあなたのタプルの入力に対応するために、ファイル.pig_schemaを変更

オリバーの答え

{"fields":[{"name":"group","type":10,"description":"autogenerated from Pig Field Schema","schema":null},{"name":"test_table_columns_needed","type":120,"description":"autogenerated from Pig Field Schema","schema":{"fields":[{"name":null,"type":110,"description":"autogenerated from Pig Field Schema","schema":{"fields":[{"name":"id","type":10,"description":"autogenerated from Pig Field Schema","schema":null},{"name":"name","type":55,"description":"autogenerated from Pig Field Schema","schema":null},{"name":"salary","type":55,"description":"autogenerated from Pig Field Schema","schema":null},{"name":"destination","type":55,"description":"autogenerated from Pig Field Schema","schema":null}],"version":0,"sortKeys":[],"sortKeyOrders":[]}}],"version":0,"sortKeys":[],"sortKeyOrders":[]}}],"version":0,"sortKeys":[],"sortKeyOrders":[]} {"group":1,"test_table_columns_needed":[{"id":1,"name":"'Kumar'","salary":"'23000'","destination":"'Kandy'"}]} 
{"group":2,"test_table_columns_needed": [{"id":2,"name":"'Mahela'","salary":"'34000'","destination":"'Colombo'"}]} 

答えて

0
tuple_entry = LOAD 'tuple_array' 
    USING PigStorage() 
    AS ('ref: int, name:chararray, amount:int, surname:chararray'); 

STORE tuple_entry 
    INTO 'tuple_table.json' 
    USING JsonStorage(); 

後JSONファイルでこれを保存する必要がありますのでご注意ください。

+0

JsonStorage格納値としてキーデータとしてカラム名でJSONの通りです。しかし、出力jsonを上記のようにしたい。それがどうやってできるのか教えていただけますか?私は豚にはまったく慣れていないので、これらのことに慣れていないからです。 – mayooran

+0

あなたは単純に 'DUMP tuple_entry;' – Oliver

+0

JsonStorageを実行した後の回答を編集しました。カラム名とメタ情報があります:( – mayooran

0

ここ一方向入力データ

{(1,'Kumar','23000','Kandy')} 
{(2,'Mahela','34000','Colombo')} 

A = LOAD ' /user/root/test1110_1.txt' as (t1:(ID:chararray,  Name:chararray,Sal: chararray, Loc:chararray)); 
B = foreach A GENERATE t1.ID as ID, REPLACE(CONCAT(t1.Name ,',' ,  t1.Sal,',', t1.Loc), '[\\\'\\(\\)]','') as Val:CHARARRAY ; 
STORE B INTO 'tuple_table.json' USING JsonStorage(); 

([1#Kumar,23000,Kandy]) 
([2#Mahela,34000,Colombo]) 
関連する問題