2015-11-17 52 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(并且在我的情况下返回一张地图)。