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 に答える