私は複数の入力ソースを持っていると私は地図側で複数の独自書き込み可能なフォーマット
public class SQOOP_REC1 extends SqoopRecord implements DBWritable, Writable
public class SQOOP_REC2 extends SqoopRecord implements DBWritable, Writable
各入力ソースのカスタムクラスを生成するために、Sqoopのコード生成ツールを使用している、入力ソースに基づいて、私はのオブジェクトを作成しますそれに応じて2クラス以上。
私は2種類の値を持っているのでキーがあります。値の出力タイプは「書き込み可能」です。
削減側では、値の型をWritableとして受け入れます。
public class SkeletonReduce extends Reducer<Text,Writable, Text, Text> {
public void reduce(Text key, Iterable<Writable> values, Context context) throws IOException,InterruptedException {
}
}
私はまた、実行中に
job.setMapOutputValueClass(Writable.class);
を設定し、それがすべてでreduce関数を入力しません。
誰かがこれを行うことが可能かどうか教えてください。もしそうなら、私は間違って何をしていますか?