0
假设我有以下的JSON:猪的新手,如何将JSON转换为另一个JSON,并使用猪的关键值对子集?
{
"state":"VA",
"fruit":[
{"name":"Bannana",
"color":"Yellow",
"cost":1.6
},
{"name":"Apple",
"color":"Red"
"cost":1.4
}
]}
在猪,我怎么变换上述以下:
{
"state":"VA",
"fruit":[
{"name":"Bannana",,
"cost":1.6
},
{"name":"Apple",
"cost":1.4
}
]}
我已经试过:
A = #load file
B = FOREACH A GENERATE
state,
fruit.name,
fruit.cost;
和如下:
A = #load file
B = FOREACH A GENERATE
state,
fruit as (m:bag{FruitInfo.(tuple(name:string, cost:double))});
似乎不管我做什么我一直在获取嵌套数组。我正在尝试做什么?我选择了猪的数据转换能力。请注意,数据使用AvroStorage加载。
看看这里:http://pig.apache.org/docs/r0 .12.0/basic.html – aelor
尝试使用UDF。我已将工作代码发布为答案。任何限制不使用UDF? –