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

标签 java hadoop mapreduce hadoop-partitioning bigdata

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

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

最佳答案

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

关于java - 从文件中为hadoop中的映射器创建自定义键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35474409/

相关文章:

java - Hadoop - 为特定节点的 Mapper 中的每个 map() 函数创建类的单个实例

java - Java 中的父级枚举

hadoop - 在单机Hadoop上利用所有内核

hadoop - Hadoop:Map Reduce

apache-spark - 是否有用于spark的shell命令,该命令说明正在排队或正在运行的作业?

hadoop - 运行hadoop作业后生成的空输出文件

hadoop - 获取配置单元脚本的 _SUCCESS 文件

java - Java Socket编程中如何实现一台服务器和多个客户端之间的通信?

java - Apache Spring - 具有多行属性值的 Bean

java - 拍照时如何开启原生编辑图片?