我是hadoop和mapreduce編程中的新成員,不知道該怎麼辦。我想在hadoop分區器中定義一個int數組。我想感受這個數組在main函數中的作用,並在分區器中使用它的內容。我試圖使用IntWritable
和它的數組,但他們都沒有工作。我試圖使用IntArrayWritable
,但它再次沒有奏效。如果有人幫助我,我會很高興。非常感謝如何在hadoop分區器中定義數組
public static IntWritable h = new IntWritable[1];
public static void main(String[] args) throws Exception {
h[0] = new IntWritable(1);
}
public static class CaderPartitioner extends Partitioner <Text,IntWritable> {
@Override
public int getPartition(Text key, IntWritable value, int numReduceTasks) {
return h[0].get();
}
}
謝謝。但我想從主函數感受h [0]。主要功能是具有配置代碼。例如我有臨時[0],在主要功能我修改它。那麼我想在分區器中將temp [0]複製到h [0]。謝謝 – saeednasehi
你不能使用'main()'方法。您需要封裝分區器中的所有內容。 –
非常感謝。我有一個文件,有一些關鍵和減少數量。我想讀這個文件,並使用這些信息來決定每個鍵的reducer。你有意見幫助我做到這一點嗎? – saeednasehi