Я пытаюсь запустить упрощенную карту, уменьшая работу набора данных TSV, и я немного смущен о том, что пойдет не так, когда я пытаюсь выполнить простую операцию с картой. Ниже приводится моя модификация класса карты sample Word Count problem.Вход TSV в Hadoop Map Уменьшить
public static class Map extends MapReduceBase implements Mapper<LongWritable, Text, Text, IntWritable> {
private Text node = new Text();
public void map(LongWritable key, Text value, OutputCollector<Text, IntWritable> output, Reporter reporter) throws IOException {
String line = value.toString();
String tokens[] = line.split('t');
node.set(tokens[1]);
int weight = Integer.parseInt(tokens[2]);
output.collect(node, new Writable(weight));
}
}
Ввод может быть визуализирован как файл TSV с тремя столбцами. Я получаю ошибку method.java.lang.String.split being not applicable
для вышеуказанного кода в строке, где линия разделяется на токены. Любые идеи, в которых я могу ошибаться?
Попробуйте использовать это: 'line.split (" \ t ");' вместо 'line.split ('t')'. – Ashrith