maptask的输出如何分配给reducetask
这就是分区问题

因为数据在MapTask阶段是用键值对的形式传递的
所以默认的分区规则是
Key的哈希值去模(取余)
key.hashcode()%NumreduceTask==余数是几 分区编号就是几

hash是一个算法,可以保证数据不变的情况下,哈希出来的结大数据离线阶段-MapReduce分区问题就会是一样。
hash一般作为校验数据的完整性而使用,一个完整的大的数据获取hash值,如果传输完毕,hash值发生改变就说明数据丢失。

相关文章:

  • 2022-01-23
  • 2022-12-23
  • 2022-02-02
  • 2021-11-04
  • 2021-12-12
  • 2021-11-14
  • 2021-06-22
  • 2021-10-01
猜你喜欢
  • 2022-12-23
  • 2022-01-03
  • 2021-07-19
  • 2021-07-11
  • 2022-01-08
  • 2021-04-19
  • 2021-06-01
相关资源
相似解决方案