2つのテキストファイルがあります。私はすべて大文字の単語を書いたfile1.txtを、もう1つのファイル名はfile2 .txt、私はすべての小さな文字の単語を書いているので、どのように1つの減速のfile1.txtの大文字とdiffrent減速のfile2.txtのすべての小さな文字のこの入力分割を行うことができます。1つの入力ファイルを1つの減速機に入れ、別の入力ファイルを別の減速機に入れることができます
いずれかが私を助けてください。
2つのテキストファイルがあります。私はすべて大文字の単語を書いたfile1.txtを、もう1つのファイル名はfile2 .txt、私はすべての小さな文字の単語を書いているので、どのように1つの減速のfile1.txtの大文字とdiffrent減速のfile2.txtのすべての小さな文字のこの入力分割を行うことができます。1つの入力ファイルを1つの減速機に入れ、別の入力ファイルを別の減速機に入れることができます
いずれかが私を助けてください。
create custom partitionser.
パーティの主な目的は、パーティションキー、マッパー出力中間鍵の値のペアであり、パーティショナは、我々のユーザ定義された条件に基づいてデータを分割し、ハッシュのように動作しているfunction.Theパーティションの総数ジョブ内の減速機の総数に等しい。 (job.setNumReduceTasks(n))。パーティショナフェーズは、マップフェーズの後で、mapreduceプログラムのreduceフェーズの前に行われます。デフォルトのパーティショニング機能は、ハッシュがキーで実行されるハッシュパーティショニング機能です。ただし、キーまたは値の他の関数に従ってデータを分割すると便利です。
//Set number of reducer tasks in drive program
job.setNumReduceTasks(2);
カスタムパーティショナークラスを作成し、データ値の大文字/小文字のベースにマップデータをパーティション化するロジックを追加します。カスタムパーティショナーの例
public static class customPartitioner extends Partitioner<Text,Text>{
public int getPartition(Text key, Text value, int numReduceTasks){
if(StringUtils.isAllUpperCase(value))
return 0;
else
return 1;
}
- >http://www.hadooptpoint.org/hadoop-custom-partitioner-in-mapreduce-example/
どうもありがとうKishorクマールSutharは、plzはこの問題 –
@MohitMIshraの私を助けて答えは右の他のStackOverflowのユーザーがなるようであれば、答えを受け入れるように同じことをするのが難しくありません。 –