0
自分のロジックに基づいてカスタムパーティションを実装しました。ファイルも適切に取得できますが、レデューサーの一部のデータが非常に大きいためそれは減速機位相の遅れにつながる。Custom Partitioner Hadoopでレデューサーあたりの出力ファイル数を設定する方法
私は1つのレデューサー出力ファイルの中に多くの小さなファイルを作成することができます。
はここ
public class MyPartioner extends Partitioner<Text, IntWritable> {
public int getPartition(Text key, IntWritable value, int setNumRedTask) {
String str = key.toString();
if (str.contains("Japan|2014")) {
return 0;
} else if (str.contains("Japan|2013")) {
return 1;
} else if (str.contains("Japan|2012")) {
return 2;
} else if (str.contains("Japan|2011")) {
return 3;
} else
return 4;
}
第一の条件は、20ギガバイトのようなデータの非常に膨大な量を持っていますが、最後の12メガバイトを持っています私のカスタムpartionerです。
はい、私はMultiOutputを使うことができますが、HBaseのレコードを200個の領域から読み込んで200個の出力ファイルを作成するため、より多くのファイルが作成されます。 。 – SUDARSHAN