列レベルのスキーマなしでAvroとして格納されたデータを使用して、オブジェクト コンテナ ファイルを作成します。このシナリオでは、オブジェクト コンテナ ファイルを作成する方法は3つあります。
スキーマは同じであり、列レベル スキーマがない
単純にインスタンスからスキーマを取得し、それをシナリオ1のガイドラインに従って使用し、オブジェクト コンテナ ファイルを作成します。
スキーマは異なるが、互換性がある
ステップに従って必要なデータを収集し、オブジェクト コンテナ ファイルを作成します。
- オブジェクト コンテナ ファイルを構成するバイナリ コード化されたすべてのAvro値を記述するために使用する所望のスキーマを決定します。
- DATASET型のAvroProjectメソッドを使用して、希望するスキーマを持つAvroインスタンスを構築します。
- DATASETデータ型のgetRawDataメソッドまたはgetRawDataLobメソッドを使用して、ステップ2で作成したインスタンスからバイナリ コード化されたAvro値だけを取得します。これらのバイナリ コード化されたAvro値の長さも必要な場合は、getRawDataSizeメソッドを使用します。
決定されたスキーマと射影バイナリ コード化されたAvro値を用いることにより、Avroライブラリを使用するオブジェクト コンテナ ファイルを構築できます。
スキーマは異なるが、互換性がない
各スキーマは、そのスキーマによって記述されたバイナリ コード化されたAvro値と共に、分離されている必要があります。分離された各ペアリングについて、シナリオ1のステップに従ってオブジェクト コンテナ ファイルを作成します。