Arrays 在pig中处理嵌套JSON文件
我试图在pig中读取下面嵌套的JSON数组输入文件。对于每个客户,电话号码值的数量将在1到3之间变化 现在我需要将第一个电话号码读作Arrays 在pig中处理嵌套JSON文件,arrays,json,nested,apache-pig,Arrays,Json,Nested,Apache Pig,我试图在pig中读取下面嵌套的JSON数组输入文件。对于每个客户,电话号码值的数量将在1到3之间变化 现在我需要将第一个电话号码读作Tel1,第二个读作Tel2,第三个读作Tel3 {"Customer_Info":[{"Tel_Nbr":9999900001},{"Tel_Nbr":9878909877},{"Tel_Nbr":01145565675}]}, {"Customer_Info":[{"Tel_Nbr":7867898789},{"Tel_Nbr":9809878980}]}, {
Tel1
,第二个读作Tel2
,第三个读作Tel3
{"Customer_Info":[{"Tel_Nbr":9999900001},{"Tel_Nbr":9878909877},{"Tel_Nbr":01145565675}]},
{"Customer_Info":[{"Tel_Nbr":7867898789},{"Tel_Nbr":9809878980}]},
{"Customer_Info":[{"Tel_Nbr":8909890989},{"Tel_Nbr":04456767687}]}
我尝试了以下方法,但未能达到我的目标。任何帮助都将不胜感激
arr = load '/jsonarray.json' using JsonLoader('Customer_Info:{(Tel_Nbr:chararray)}');
val = foreach arr generate BagToTuple(Customer_Info).$0 as Tel1,BagToTuple(Customer_Info).$1 as Tel2, BagToTuple(Customer_Info).$2 as Tel3;
但是得到下面的错误
2016-03-29 22:37:05,048 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1127: Index 1 out of range in schema:Total_Premium_Amt:double
Details at logfile: /home/mapr/pig_1459315772500.log