hadoop映射器中对象类型的键
Key of object type in the hadoop mapper
hadoop 新手,试图理解来自 here 的 mapreduce wordcount 示例代码。
文档中的映射器是 -
Mapper<KEYIN,VALUEIN,KEYOUT,VALUEOUT>
我看到在mapreduce字数统计例子中map代码如下
public void map(Object key, Text value, Context context)
问题 - 这个对象类型的键有什么意义?如果映射器的输入是文本文档,我假设其中的值是 hadoop 已分区并存储在 HDFS 中的文本块(64MB 或 128MB)。 更笼统地说,这个输入键输入地图代码有什么用?
任何指点将不胜感激
InputFormat 描述了 Map-Reduce job.By 默认的输入规范,hadoop 使用继承 FileInputFormat
的 TextInputFormat
来处理输入文件。
我们还可以指定在客户端或驱动程序代码中使用的输入格式:
job.setInputFormatClass(SomeInputFormat.class);
对于 TextInputFormat
,文件被分成几行。键是文件中的位置,值是文本行。
在public void map(Object key, Text value, Context context)
中,key是行偏移,value 是实际的文本。
请查看 TextInputFormat API https://hadoop.apache.org/docs/current/api/org/apache/hadoop/mapreduce/lib/input/TextInputFormat.html
默认情况下,对于 TextInputFormat
,键是 LongWritable
类型,值是 Text
类型。在您的示例中,对象类型指定在 [=15= 的位置] 因为它是兼容的。您还可以使用 LongWritable
类型代替 Object
hadoop 新手,试图理解来自 here 的 mapreduce wordcount 示例代码。
文档中的映射器是 -
Mapper<KEYIN,VALUEIN,KEYOUT,VALUEOUT>
我看到在mapreduce字数统计例子中map代码如下
public void map(Object key, Text value, Context context)
问题 - 这个对象类型的键有什么意义?如果映射器的输入是文本文档,我假设其中的值是 hadoop 已分区并存储在 HDFS 中的文本块(64MB 或 128MB)。 更笼统地说,这个输入键输入地图代码有什么用?
任何指点将不胜感激
InputFormat 描述了 Map-Reduce job.By 默认的输入规范,hadoop 使用继承 FileInputFormat
的 TextInputFormat
来处理输入文件。
我们还可以指定在客户端或驱动程序代码中使用的输入格式:
job.setInputFormatClass(SomeInputFormat.class);
对于 TextInputFormat
,文件被分成几行。键是文件中的位置,值是文本行。
在public void map(Object key, Text value, Context context)
中,key是行偏移,value 是实际的文本。
请查看 TextInputFormat API https://hadoop.apache.org/docs/current/api/org/apache/hadoop/mapreduce/lib/input/TextInputFormat.html
默认情况下,对于 TextInputFormat
,键是 LongWritable
类型,值是 Text
类型。在您的示例中,对象类型指定在 [=15= 的位置] 因为它是兼容的。您还可以使用 LongWritable
类型代替 Object