0

我正在尝试按日期对地图输出进行分区,但是我没有任何运气。

我的地图输出形式为:

2012-01-01\这里有一些文字

使用 KeyFieldBasedPartitioner,我尝试按日期对每个地图输出进行分区,因此每年将有 365 个分区。

以下选项对我不起作用: map.output.key.field.separator=- mapred.text.key.partitioner.options=-k1,3.2 #Each reducer 匹配我的键中“day”字段的第二个字符,所以01、11、21、31被发送到同一个reducer)。

是否可以分割两个字符的组合?

4

1 回答 1

0

mapred.text.key.partitioner.options=-k1,3.2 表示使用第一个关键字段(在您的示例中为 2012)和第三个字段的一部分(\tsome txet)作为分区器。明显地。这不是“按日期对每个地图输出进行分区”。也许您可以尝试以下选项: map.output.key.field.separator=\t mapred.text.key.partitioner.options=-k1

仅供参考:http ://hadoop.apache.org/docs/current/api/org/apache/hadoop/mapred/lib/KeyFieldBasedPartitioner.html

于 2013-09-10T06:50:10.570 回答