首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scalding:解析具有不同属性的嵌套JSON文件

Scalding:解析具有不同属性的嵌套JSON文件
EN

Stack Overflow用户
提问于 2015-02-23 23:36:55
回答 1查看 177关注 0票数 0

我有一个嵌套的JSON文件,其中每个记录在嵌套部分中可能包含一组不同的字段。fiel看起来像这样,尽管这是真正的avro版本:

代码语言:javascript
复制
{"type":"record",
 "name":"features",
 "namespace":"OurCode",
 "fields":[{"name":"key","type":"long"},
       {"name":"features",
        "type":{"type":"map","values":"double"}}]
}

第二个字段"features“是一个嵌套字段,其中包含多个字段,每个记录包含一组可能不同的嵌套字段。

因此,如果我有2条记录,如下所示:

代码语言:javascript
复制
key1: 123   features:{var1=4, var2 = 3, var4 = 10}
key2: 456   features:{var3 = 15, var4 = 9, var5 = 22}

我需要将上面的数据转换成如下所示:

代码语言:javascript
复制
Key     Var1   Var2   Var3   Var4   Var5
123       1      3     0      10     0
456       0      0     15      9     22

我可以在读入文件时手动提取字段,如下所示:

代码语言:javascript
复制
JsonLine(args("input"), ('acct_id, Symbol("features.Var1"). Symbol("features.Var2), ...)
  .read

我想要一些更通用的代码,可以弄清楚所有的子字段是什么,而不需要我显式地声明每个子字段。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2015-02-24 10:34:37

JsonLine没有你想要的那种功能,我读过那里的源代码和示例,但找不到这样的功能。

事实上,在过去的几天里,我也在同一方面进行了探索,但找不到任何好的json解析器。JsonLine很单调乏味,但工作做得很好。

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

https://stackoverflow.com/questions/28677397

复制
相关文章

相似问题

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