私のデータベースには複数のテーブルがあり、各テーブルは異なるエンティティタイプです。これらの異なるエンティティタイプのすべてのフィールドの和集合であるhadoopで使用するAvroスキーマがあり、さらにエンティティタイプフィールドがあります。
私がやりたいのは、エンティティタイプを結合されたAvroタイプにマップする、エンティティタイプごとにDBWritableを使用してDBInputFormatを設定するという方針に沿ったものです。次に、各DBInputFormatをMultipleInputsのようなものに指定して、複合入力フォーマットを作成できるようにします。次に、複合入力フォーマットをマップリデュースジョブに指定して、すべてのテーブルのすべてのデータを同じマッパークラスで一度に処理できるようにすることができます。
データはこれらのデータベーステーブルに絶えず追加されるため、新しいデータのみを取得して適切に分割するように、エンティティタイプ/dbtableごとにDBInputFormatを構成できる必要があります。
基本的に、DBInputFormatまたはDataDrivenDBInputFormatの機能が必要ですが、パスやMultipleInputsで実行できるのと同様の複合を作成する機能も必要です。