gpt4 book ai didi

java - 在 PIG 中获取名称值 JSON

转载 作者:可可西里 更新时间:2023-11-01 15:31:18 26 4
gpt4 key购买 nike

大家好,我刚开始做 pig ,我想知道 JsonLoader 是否能够解析 json 中的所有值。

例如:

{"food":"Tacos", "person":"Alice", "amount":3}

我需要将“食物”作为关系存储在 chararray 和“Tacos”中,这是“食物”对另一个关系的值(value)。

在阅读了许多教程和文档之后,我还没有找到这样做的内置方法。

这是否意味着唯一的解决方案是通过 UDF?

非常感谢!

最佳答案

我找到了使用来自 twitter 的外部 jar 的答案。

register 'hdfs:/udf/elephant-bird-pig-4.10.jar';
register 'hdfs:/udf/elephant-bird-core-4.10.jar';
register 'hdfs:/udf/elephant-bird-hadoop-compat-4.10.jar';
register 'hdfs:/udf/json-simple-1.1.1.jar';

测试.json

{"food":"Tacos", "person":"Alice", "amount":3}

脚本:

A = LOAD 'hdfs:/test.json' USING com.twitter.elephantbird.pig.load.JsonLoader('-nestedLoad') AS (json:map[]); 
DUMP A;

我想要的输出是:

([amount#3,food#Tacos,person#Alice])

谢谢!

关于java - 在 PIG 中获取名称值 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32373260/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com