Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从文件为hadoop中的映射器创建自定义键值_Java_Hadoop_Mapreduce_Hadoop Partitioning_Bigdata - Fatal编程技术网

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

Java 从文件为hadoop中的映射器创建自定义键值,java,hadoop,mapreduce,hadoop-partitioning,bigdata,Java,Hadoop,Mapreduce,Hadoop Partitioning,Bigdata,我有一个50MB大小的文件(完整的文本数据,没有空格)。我希望以这样一种方式对这些数据进行分区,即每个映射程序都应该获得5MB的数据。映射程序应该以(K,V)格式获取数据,其中键-分区号(如1,2,…)和值是纯文本(5MB) 我阅读了InputFormat(method getSplits)、FileInputFormat(FileSplit method)和RecordReader,但不理解如何生成和使用拆分为我的映射器创建所需的自定义(K,V)。我是Hadoop MapReduce编程新手,

我有一个50MB大小的文件(完整的文本数据,没有空格)。我希望以这样一种方式对这些数据进行分区,即每个映射程序都应该获得5MB的数据。映射程序应该以(K,V)格式获取数据,其中键-分区号(如1,2,…)和值是纯文本(5MB)


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

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

没有空格的完整文本数据是什么意思?你能举个小例子吗?您需要一个逻辑来为映射器创建对。例如,wordcount示例中的逻辑是用空格分割文本数据。我的数据是一个包含字符序列的大文件,如SDACCRAGRRALWGHDSGFNDSNVFCvnd。。。。。以MB为单位。所以我想对这些数据进行分区,以便在每个映射器端应用我的过程。我想确定给定映射器有哪个分区,所以,你想用什么来分割这个字符串?什么样的逻辑?也许你可以使用子字符串,但你感兴趣的长度是多少?没什么,我只想将这些数据分割成等长的分区,即等长的charecter序列到每个映射器(如果我的输入大小是50mb,那么每个映射器的长度是5mb,我有兴趣使用10个映射器)