如何使用Pig读取非分隔的JSON?

时间:2016-03-03 00:17:40

标签: json hadoop apache-pig

我有一个json文件,原始文本如下所示:

{a:1,b:2,c:3}{a:3,b:3,c:5}{a:3,b:3,c:9}

raw = LOAD 'jsonfile.text' USING JsonLoader('a:chararry,b:chararray,c:chararry') ;

dump raw;

只返回1条记录。

日志的实际摘录:

  

输入:从以下位置成功读取1条记录(630644858字节):   " S3N://logstash/ls.s3.ip-10-45-56-56.2016-03-02T23.10.part42.txt"

     

输出:成功存储1条记录(1900字节):   " HDFS:// nameservice1 / TMP / TEMP-1489272670 / TMP-1959659634"

看起来只有JSON的第一条记录正在被阅读。 Json文件未分隔。

任何人都有任何提示吗?

2 个答案:

答案 0 :(得分:1)

我建议先做一个字符串替换}{ - > }\n{。那么每行将有一个有效的json对象,json解析应该可以工作。

答案 1 :(得分:0)

检查twitter大象鸟罐,可用于处理任何类型的JSON数据。

选中此参考 - 与您的JSON数据类似的样本猪脚本!

<强> https://gist.github.com/neilkod/2898455

希望这有帮助!! &LT;&GT;&LT;