2015-11-17 49 views
0

我有一個序列文件,其中包含一個json的密鑰。如何從豬的序列文件中獲取json密鑰

{ 
    "id": "file", 
    "value": "File", 
    "popup": [ 
    { 
     "value": "Open", 
     "onclick": "OpenDoc()" 
    } 
    ] 
} 

我知道你能夠從文件加載JSON像這樣:它不是一個複雜的架構,它沿着線的

a = load 'a.json' using JsonLoader('[schema]'); 

和撲滿有辦法加載順序文件:

A = LOAD 'mydir/part-r-00000' USING SequenceFileLoader AS (key:long, val:long); 

我將如何將二者結合起來,而不必從SequenceFileLoader輸出寫入到磁盤,然後(重新)使用JsonLoader負荷?

此外,我正在使用來自Elephant Bird的SequenceFileLoader中的WritableConverters中的模式,但Elephant Bird需要安裝協議緩衝區和配置單元。我沒有太多的控制權來安裝這些軟件包。

我堅持寫UDF嗎?

回答

0

考慮到我對不使用Elephant Bird施加的限制,我使用SequenceFileLoader讀取文件並將該值發送到udf中以解析出json(並且在我的情況下返回一張地圖)。