У меня проблема с изменением общедоступных статических переменных в Hadoop.
Я пытаюсь передать некоторые значения в качестве аргументов в файл jar из командной строки.
вот мой код:
public class MyClass {
public static long myvariable1 = 100;
public static class Map extends Mapper<Object, Text, Text, Text> {
public static long myvariabl2 = 200;
public void map(Object key, Text value, Context context) throws IOException, InterruptedException {
}
}
public static class Reduce extends Reducer<Text, Text, Text, Text> {
public void reduce(Text key, Iterable<Text> values, Context context)
throws IOException, InterruptedException {
}
}
public static void main(String[] args) throws Exception {
col_no = Long.parseLong(args[0]);
Map.myvariable1 = Long.parseLong(args[1]);
Map.myvariable2 = Long.parseLong(args[1]);
other stuff here
}
}
Но это не работает, myvariable1 & myvaribale2 всегда имеют 100 & 200.
Я использую Hadoop 0.20.203 с Ubuntu 10.04