2013-08-22 59 views
0

寫作時創建拉丁豬一個複雜的記錄我在拉美豬下面的關係,我需要將其存儲到的Avro-模式文件:如何使用Avro的模式

data = load 'data.dat' as (a: long, b: chararray, c: long); 
... 
    STORE data INTO 'file' USING avroStorage(); 

但我需要的數據要在格式:

Record 1: 
{ 
    "a" : { 
    "long" : 2 
    }, 
    "complex" : { 
     "b" : { 
     "string" : "abc" 
     }, 
     "c" : { 
     "long" : 3 
     } 
    } 
} 
... 

回答

0

我沒有測試此代碼,看看它是如何翻譯成Avro的模式,但也嘗試啓動與此代碼

data = load 'data.dat' as (a: long, b: chararray, c: long);  
transformed = foreach data generate a, TOTUPLE(b, c);   
STORE transformed INTO 'file' USING avroStorage(); 

TOTUPLE的文檔 - http://pig.apache.org/docs/r0.11.1/func.html#totuple