0

我有一个带有编码数据的 JSON 文件。我的目标是解码数据并将其保存到具有模式(食物、人、数量)的 HCat 表中。

我的文件.json

{"messages":[{"body":"eyJmb29kIjoiTWFuZ28iLCAicGVyc29uIjoiQWxpY2UiLCAiYW1vdW50IjoxMX0="}]}
{"messages":[{"body":"eyJmb29kIjoiQXBwbGUiLCAicGVyc29uIjoiVG9tIiwgImFtb3VudCI6MjJ9"}]}
{"messages":[{"body":"eyJmb29kIjoiT3JhbmdlIiwgInBlcnNvbiI6IkpvaG4iLCAiYW1vdW50IjozM30="}]}

我的代码

STOCK_A = LOAD 'myfile.json' 
USING JsonLoader('messages:{(body:chararray)}');    
rowarr1 = FOREACH STOCK_A GENERATE FLATTEN(messages.(body)) as (body);
decodearr = FOREACH rowarr1 GENERATE Base64Decode(body) as (msg);
DESCRIBE decodearr;        
DUMP decodearr;

输出

decodearr: {msg: chararray}
({"food":"Mango", "person":"Alice", "amount":11})
({"food":"Apple", "person":"Tom", "amount":22})
({"food":"Orange", "person":"John", "amount":33})

如何使用{food: chararray,person: chararray,amount: int}的模式来拆分和保存它

4

0 回答 0