在PIG Latin中处理非均匀JSON

时间:2014-02-20 17:39:18

标签: json apache-pig

我有示例JSON文件

{ “类型”: “镀铬”, “URL”: “www.example1.com”, “宿主”: “HOST1”, “引用者”: “www.reference1.com”} { “类型”: “火狐”, “URL”: “www.example1.com”, “宿主”: “HOST1”, “引用者”: “www.reference2.com”} { “类型”: “镀铬”, “URL”: “www.example2.com”, “宿主”: “HOST2”}

在上面的JSON中,referer字段在所有记录中都不可用。它可能有也可能没有。如何在PIG Latin中处理它们。

如果字段在JSON中是统一的并且可用于所有记录,则下面的脚本能够处理它们。 (删除了没有referer字段的记录)

register '/usr/local/pig/contrib/piggybank/java/piggybank.jar';
record = LOAD 'piginput/file.json' 
USING JsonLoader('type:chararray,url:chararray,host:chararray,referer:chararray');
GroupByhttp = GROUP record BY (referer,type);
CountByhttp = FOREACH GroupByhttp 
GENERATE group,COUNT(record);
STORE CountByhttp
INTO 'pig_output';

请建议!!

0 个答案:

没有答案