0

我在拉丁猪中有以下关系,我需要将其存储到 avro-schema 文件中:

    data = load 'data.dat' as (a: long, b: chararray, c: long);
...
    STORE data INTO 'file' USING avroStorage();

但我需要数据采用以下格式:

Record 1:
{
  "a" : {
    "long" : 2
  },
  "complex" : {
      "b" : {
        "string" : "abc"
      },
      "c" : {
        "long" : 3
      }
   }
}
...
4

1 回答 1

0

我尚未测试此代码以查看它如何转换为 avro 架构,但尝试从此代码开始

data = load 'data.dat' as (a: long, b: chararray, c: long);    
transformed = foreach data generate a, TOTUPLE(b, c);        
STORE transformed INTO 'file' USING avroStorage();

TOTUPLE 的文档 - http://pig.apache.org/docs/r0.11.1/func.html#totuple

于 2013-08-22T18:53:09.820 回答