MapReduce深入

 

 

hadoop中map和reduce都是进程(spark中是线程),map和reduce可以部署在同一个机器上也可以部署在不同机器上。

输入数据是hdfs的block,通过一个map函数把它转化为一个个键值对,并同时将这些键值对写入内存缓存区(100M),内存缓存区的数据每满80M就会将这80M数据写入磁盘,在写入磁盘的过程中会进行分区、排序。

把数据按键hash分区得到多个partition,保证同个键的数据落入同一个分区,partition数目一般和reduce数目一致(也可以是reduce数目的倍数)。

 

 

posted @ 2020-04-01 00:04  xd_xumaomao  阅读(112)  评论(0编辑  收藏  举报