首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Apache猪中的象鸟JsonLoader加载包含在方括号中的JSON数据

使用Apache猪中的象鸟JsonLoader加载包含在方括号中的JSON数据
EN

Stack Overflow用户
提问于 2017-02-08 19:16:28
回答 1查看 313关注 0票数 0

使用大象鸟( Elephantbird JsonLoader ),如果记录采用这种格式,我可以加载数据:

代码语言:javascript
复制
{"disknum":36,"disksum":136.401,"disk_rate":1872.0,"disk_lnum": 13}

但实际数据的格式如下:(括在方括号内)

代码语言:javascript
复制
[{"disknum":36,"disksum":136.401,"disk_rate":1872.0,"disk_lnum": 13}]

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

请建议如何用圆括号处理数据。

下面是我对非方括号记录的语法:

代码语言:javascript
复制
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;

请指点!(预先谢谢:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-10 07:08:26

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42121758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档