首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在pig中从序列文件中获取json密钥

如何在pig中从序列文件中获取json密钥
EN

Stack Overflow用户
提问于 2015-11-17 12:30:52
回答 1查看 171关注 0票数 0

我有一个序列文件,它的关键字是json。这不是一个复杂的模式,它是这样的:

代码语言:javascript
复制
{
  "id": "file",
  "value": "File",
  "popup": [
    {
      "value": "Open",
      "onclick": "OpenDoc()"
    }
  ]
}

我知道您可以从文件中加载json,如下所示:

代码语言:javascript
复制
a = load 'a.json' using JsonLoader('[schema]');  

而这个存钱罐有一种加载序列文件的方法:

代码语言:javascript
复制
A = LOAD 'mydir/part-r-00000' USING SequenceFileLoader AS (key:long, val:long);

在不将SequenceFileLoader的输出写入磁盘,然后使用JsonLoader (重新)加载的情况下,我如何组合这两者呢?

此外,我还在考虑使用Elephant Bird的SequenceFileLoader中的WritableConverters中的模式,但Elephant Bird需要安装协议缓冲区和配置单元。我在我的集群上没有太多的控制权来安装这些软件包。

我是不是一直在写UDF?

EN

回答 1

Stack Overflow用户

发布于 2015-11-18 05:06:16

考虑到我对不使用Elephant Bird施加的限制,我使用SequenceFileLoader读取文件,并将该值发送到udf中以解析出json (在我的示例中,返回一个映射)。

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

https://stackoverflow.com/questions/33749191

复制
相关文章

相似问题

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