从文件中为 hadoop 中的映射器创建自定义键值

creating custom key value for mappers in hadoop from file

我有一个大小为 50MB 的文件(没有空格的完整文本数据)。我想以每个映射器应获得 5MB 数据的方式对这些数据进行分区。映射器应以 (K,V) 格式获取数据,其中键 - 分区号(如 1,2,..)和值是纯文本 (5MB)。

我阅读了 InputFormat (method getSplits)FileInputFormat (FileSplit method)RecordReader,但无法理解如何生成和使用拆分来为我的映射器创建所需的自定义 (K,V)。我是 Hadoop MapReduce 编程的新手,所以请建议我在这种情况下如何进行。

您可以在配置中以字节为单位设置 mapreduce.input.fileinputformat.split.maxsize 以告诉映射器您应该获得 5MB 的数据。