我正在开发一个带有map reduce的项目。
我对Hadoop的理解是,它会将我的数据分成块,然后将其转换为分割,其中分割对应于单个地图任务。
我的假设是每个拆分都有一个与之关联的ID或编号。
我想知道是否有任何方法可以将此分割ID /数字甚至块ID /数字作为地图功能的关键?
即:
map(split_id, data)
答案 0 :(得分:0)
Inputsplit toString()
方法将返回一个模式。如果使用MD5 Hash散列此模式,我们可以获得标识每个输入拆分的唯一ID。
InputSplit is = context.getInputSplit();
splitId = MD5Hash.digest(is.toString()).toString();
然后我们可以使用splitId作为映射器函数的关键。