我有一个大小为50MB的文件(没有空格的完整文本数据)。我想以这样的方式对这些数据进行分区,即每个映射器应该获得5MB的数据。 Mapper应该以(K,V)格式获取数据,其中键 - 分区号(如1,2,..)和值是纯文本(5MB)。
我看过InputFormat (method getSplits)
,FileInputFormat (FileSplit method)
和RecordReader
,但无法理解如何生成和使用拆分为我的地图制作工具创建所需的自定义(K,V)。我是Hadoop MapReduce
编程的新手,所以请在这种情况下建议我如何处理。
答案 0 :(得分:0)
您可以在配置中设置mapreduce.input.fileinputformat.split.maxsize
以字节为单位告诉映射器您应该获得5MB的数据。