0

豚のResourceSchemaとスキーマの違いは何ですか? すでに Schema クラスが提供されていますが、豚が ResourceSchema と呼ばれる別の Schema-akin クラスをわざわざ追加するのはなぜですか?

4

1 に答える 1

0

API Docs バックアップ @zsxwing のコメント:

  • Schema- Schema クラスは、関係演算子のスキーマの概念をカプセル化します。スキーマは、関係演算子の出力を記述する列のリストです。

    リレーションの各列は、スキーマ内の静的クラスである FieldSchema として表されます。列には定義上、別名、型、および可能なスキーマ (列がバッグまたはタプルの場合) があります。

    さらに、スキーマの各列には、一連のステートメントで列の系統を追跡するために使用される一意の自動生成名があります。列の系列は、先行列を生成する演算子への先行列のマップを使用して追跡されます。

    先行列は、検討中の列を生成するために必要な列です。同様に、先行列を先行列に生成する演算子の逆ルックアップが維持されます。

  • ResourceSchema- ロードおよびストア機能との通信に使用されるスキーマの表現。これは、スキーマの内部 Pig 表現であるスキーマとは別のものです。

したがって、API ドキュメントからわかる主な違いの 1 つは、スキーマを構築するために必要な入力列をスキーマが追跡できることです。ここで、ResourceSchema はフィールド名、型 (およびオプションのサブスキーマ) のスキーマ定義にすぎません。

于 2013-07-03T10:46:53.197 に答える