設定されたjsonドキュメントをPIGにロードする際に問題が発生しました。 私が持っているものは、彼らが持っているフィールドがすべて変わる多くのjsonドキュメントです。私が必要とするフィールドはほとんどのドキュメントにあり、whareがない場合はnull値を取得したいと考えています。さまざまなスキーマを持つjsonをPIGにロード
私はちょうどこれがまだ解決されていないことを確認するために、最新のPigバージョン(apache gitリポジトリから0.12)をダウンロードしてコンパイルしました。しかしとき
{"foo":1,"bar":2,"baz":3}
私はこの
Json1 = LOAD 'test.json' USING JsonLoader('foo:int,bar:int,baz:int');
DESCRIBE Json1;
DUMP Json1;
を使用してPIGにこれをロードすると、私は期待される結果
Json1: {foo: int,bar: int,baz: int}
(1,2,3)
を得る:
私は何を持っていることは、このようなJSON文書でありますスキーマ内のフィールドの順序が異なります。
Json2 = LOAD 'test.json' USING JsonLoader('baz:int,bar:int,foo:int');
DESCRIBE Json2;
DUMP Json2;
私は、望ましくない結果が得られます。
(3,2,1)
されている必要があります
Json2: {baz: int,bar: int,foo: int}
(1,2,3)
はどうやらスキーマ定義のフィールド名は、JSONでのフィールド名とは何の関係もありません。
私が必要とするのは、jsonファイル(埋め込みドキュメントあり!)から特定のフィールドをPIGに読み込むことです。
どうすれば解決できますか?
残念ながら、JsonLoaderは設定したスキーマに関係なく、フィールドをそのまま順番に読み込みます。 –