我在路径hduser / path / filename中有一个文件说。现在我想将这个文件的前K行分别传递给K个地图。只需设置
FileInputFormat.setInputPaths(conf, new Path("hduser/path/filename"));
传递所有线条(所有N条线都分别为N个地图)。但是我想把它限制在K< N.那就是我想在mapreduce中只处理几行文件而不是完整的文件(比如文件中文本选择的字数)
答案 0 :(得分:0)
你可以:
使用NLineInputFormat(将N行输入分割为一个分割) http://hadoop.apache.org/docs/stable/api/org/apache/hadoop/mapreduce/lib/input/NLineInputFormat.html
但在这种情况下,其余的分割也将被处理....但每个分割都是N行。
OR
您可以覆盖Mapper的run方法来控制何时退出run方法(以及Mapper)。