gpt4 book ai didi

json - 使用Apache PIG中的Elephant Bird JsonLoader加载方括号中的JSON数据

转载 作者:行者123 更新时间:2023-12-02 21:05:21 27 4
gpt4 key购买 nike

如果记录采用以下格式,则可以使用Elephantbird JsonLoader加载数据:

{"disknum":36,"disksum":136.401,"disk_rate":1872.0,"disk_lnum": 13}

但是实际数据采用以下格式:(用方括号括起来)
[{"disknum":36,"disksum":136.401,"disk_rate":1872.0,"disk_lnum": 13}]

当我尝试解析它时,它不会抛出错误,也不会提供任何有用的输出。显示成功!读取0条记录,写入0条记录。

请提出如何使用方括号处理数据。

以下是非方括号记录的语法:
register '/home/data/Desktop/elephantbird/elephant-bird-core-4.1.jar';
register '/home/gopal/Desktop/elephantbird/elephant-bird-hadoop-compat-4.1.jar';
register '/home/gopal/Desktop/elephantbird/elephant-bird-pig-4.1.jar';
register '/home/gopal/Desktop/elephantbird/json-simple-1.1.jar';
a = LOAD '/pig/tc1.log' USING com.twitter.elephantbird.pig.load.JsonLoader() as (json:map[]);
b = FOREACH a GENERATE flatten(json#'node_disk_lnum_1') AS node_disk_lnum_1, flatten(json#'node_disk_xfers_in_rate_sum') AS node_disk_xfers_in_rate_sum, flatten(json#'node_disk_bytes_in_rate_22') AS node_disk_bytes_in_rate_22, flatten(json#'node_disk_lnum_7') AS node_disk_lnum_7;
dump b;

请指教!提前致谢 :)

最佳答案

我认为这可能会有所帮助:查看解决方案,它非常接近。
Json parse with elephantbird in Pig

您需要为json提供一个根名。

关于json - 使用Apache PIG中的Elephant Bird JsonLoader加载方括号中的JSON数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42121758/

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