我有一个json:
{"Name":"sampling","elementInfo":{"fraction":"3"},"destination":"/user/sree/OUT","source":"/user/sree/foo.txt"}
我发现我们可以将json加载到pigscript中。
A = LOAD ‘data.json’
USING PigJsonLoader();
但是如何在apachepig中解析json呢
--Sampling.pig
--pig -x mapreduce -f Sampling.pig -param input=foo.csv -param output=OUT/pig -param delimiter="," -param fraction='0.05'
--Load data
inputdata = LOAD '$input' using PigStorage('$delimiter');
--Group data
groupedByAll = group inputdata all;
--output into hdfs
sampled = SAMPLE inputdata $fraction;
store sampled into '$output' using PigStorage('$delimiter');
上面是我的Pig剧本。如何 parse
apache pig中的json(每个元素)?我需要将上面的json作为输入并解析其 source,delimiter,fraction,output
然后传过来 $input,$delimiter,$fraction,$output
分别。
如何解析相同的。请建议
1条答案
按热度按时间yyyllmsg1#
试试这个:
现在您的输出看起来:
输入文件中的分数数据
{"fraction":"3"}
用双引号括起来。所以我使用分数作为字符,所以无法运行sample命令,所以我使用上面的脚本来获得结果。如果要执行sample操作,请将分数数据转换为int,然后将得到结果。