AvroContainerSplitテーブル演算子への入力データは、ON句のSELECT文の結果によって決定されているように、1行以上のデータで、それぞれが以下の定義のように2列でなければなりません。
- container_idには、次の型が含まれています:
- BYTEINT
- SMALLINT
- INTEGER
- BIGINT
- DOUBLE PRECISION
- DECIMAL
- NUMBER
- CHAR
- VARCHAR
- container
入力データがこれらのデータ型の1つではない場合、または入力行が2列ではない場合、エラーが返されます。コンテナ値がNULL値である場合、NULLに設定されたavro_object_idおよびavro_valueの行が返されます。AvroContainerSplitの結果は1つ以上の出力行であり、それぞれの行は、オブジェクト コンテナ ファイルからの個別のAvro値を表わしています。3つの出力列は以下のように返されます:
- out_container_id: container_id出力列と同じ型および値。out_container_idは、Avro値の元となるオブジェクト コンテナ ファイルを特定します。
- avro_object_id: コンテナからのそれぞれのAvro値には、0からn-1の番号が付いています。この場合、nはオブジェクト コンテナ ファイル内のAvro値の数です。出力列はINTEGER(整数)型です。
- avro_val: Avroデータセット値。
オブジェクト コンテナ ファイルは、圧縮されていなくても(NULLコーデック)、圧縮されていても(deflateコーデック)かまいません。オブジェクト コンテナ ファイル内のスキーマは16MBに制限されており、オブジェクト コンテナ ファイル内のファイルデータブロックの非圧縮状態でのサイズも16MBに制限されています。