我想知道如何在map方法(hadoop)中拆分输入文本。
我的输入文件如下:
aaaa
aaaa
aaaa
aaaa
aaaa
当我运行此代码时:
public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException{
String[] lines = value.toString().split("\\n");
paire.set("hi");
one.set(lines.length);
context.write(paire,one);
}
}
输出为:
hi 1
hi 1
hi 1
hi 1
hi 1
我不知道为什么lines.length等于1而不是5。
1条答案
按热度按时间oalqel3c1#
您正在写入一个数组的长度,该数组被
\n
对于所提供的数据,这将始终是一个。Map的输入总是文本数据的新行。。。重构代码: