Hadoop - 在地图功能中获取分割ID

时间:2015-10-18 22:32:00

标签: hadoop mapreduce

我正在开发一个带有map reduce的项目。

我对Hadoop的理解是,它会将我的数据分成块,然后将其转换为分割,其中分割对应于单个地图任务。

我的假设是每个拆分都有一个与之关联的ID或编号。

我想知道是否有任何方法可以将此分割ID /数字甚至块ID /数字作为地图功能的关键?

即:

map(split_id, data)

1 个答案:

答案 0 :(得分:0)

Inputsplit toString()方法将返回一个模式。如果使用MD5 Hash散列此模式,我们可以获得标识每个输入拆分的唯一ID。

    InputSplit is = context.getInputSplit();
    splitId = MD5Hash.digest(is.toString()).toString();

然后我们可以使用splitId作为映射器函数的关键。