Avro仕様は、バイナリ コード化した複数のAvro値を共通スキーマとともに送信および格納するオブジェクト コンテナ ファイルの形式を定めています。
これらのファイルにはスキーマによって記述された1つのAvroスキーマと1つ以上のバイナリ コード化されたAvro値が含まれているため、オブジェクト コンテナ ファイルのデータは列ベースのスキーマを持つDATASET STORAGE FORMAT AVRO列にマッピングされます。
データベースはAvroContainerSplitテーブル演算子を介してファイルを直接サポートします。次のセクションでは、ファイルからAvroデータをインポートするための一般的なフレームワークについて説明します。
- オブジェクト コンテナ ファイルからスキーマを取得します。
- ステップ1で取得したスキーマを使用して、新しいCREATE<storage-format-name>SCHEMA DDL文を使用してスキーマを作成します。このスキーマは、LATIN文字、UNICODE文字、またはバイト表現でUTF-8として指定できます。
- 目的の構造に適合するテーブルを作成し、ステップ2で作成したスキーマを使用して列レベルのスキーマを定義したDATASET STORAGE FORMAT AVRO列を含めます。
- AvroContainerSplitテーブル演算子を実行して、ステップ3で作成したテーブルにAvro DATASET値をロードします。
ここまでのステップで、任意のアプリケーションがオブジェクト コンテナ ファイルからデータベース テーブルにデータをインポートできるようになります。
列ベースのスキーマを持たないDATASETテーブル列が定義されている場合、そのスキーマはテーブル内の各Avroインスタンスと共に格納されます。