Problema de esquema JsonLoader padrão do Pig
Eu tenho os dados abaixo que precisam ser analisados usando Pig
Dados
{
"Name": "BBQ Chicken",
"Sizes": [
{ "Size": "Large", "Price": 14.99 },
{ "Size": "Medium", "Price": 12.99 }
],
"Toppings": [ "Barbecue Sauce", "Chicken", "Cheese" ]
}
Eu sou capaz de definir o esquema paraName
eSizes
mas não conseguiToppings
trabalhando. Procurando ajuda aqui.
Roteiro
data = LOAD '/user/hue/data/nested_json_pizza_sample_data.json'
USING JsonLoader('Name:chararray,
Sizes:bag{tuple(Size:chararray, Price:float)},
Toppings:tuple(a:chararray)');
DUMP data;
Resultado
Como você pode ver abaixo, os dados da Cobertura não estão sendo analisados.
(BBQ Chicken,{(Large,14.99),(Medium,12.99)},)
(Hawaiian,{(Large,12.99),(Medium,10.99)},)
(Vegetable,{(Large,12.99),(Medium,10.99)},)
(Pepperoni,{(Large,12.99),(Medium,10.99),(Small,7.49)},)
(Cheese,{(Large,10.99),(Medium,9.99),(Small,5.49)},)
data: {Name: chararray,Sizes: {(Size: chararray,Price: float)},Toppings: (a: chararray)}