AvroParquetInputFormat を使用します。このユースケースでは、複数の入力ディレクトリをスキャンする必要があり、各ディレクトリには 1 つのスキーマを持つファイルがあります。AvroParquetInputFormat クラスは複数の入力スキーマを処理できないため、各クラスが AvroParquetInputFormat から継承する MyAvroParquetInputFormat1、MyAvroParquetInputFormat2 などの複数のダミー クラスを静的に作成することで回避策を作成しました。そして、ディレクトリごとに異なる MyAvroParquetInputFormat を設定し、それが機能しました (これを達成するためのよりクリーンな方法があれば教えてください)。
私の現在の問題は次のとおりです。
各ファイルには数百の列があり、メタデータに基づいて各ディレクトリの ProjectionSchema を構築し、不要なディスクとネットワーク IO を削減します。各 MyAvroParquetInputFormat クラスで静的な setRequestedProjection() メソッドを使用します。ただし、静的であるため、最後の呼び出しの ProjectionSchema はすべてのディレクトリからデータを読み取るために使用されますが、これは必要な動作ではありません。
回避策/解決策へのポインタは高く評価されます。
ありがとうございます。それでは、お元気で
MK