我有示例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';
请建议!!