分布式计算引擎进行数据处理的过程中会有shuffle操作,通俗将叫洗牌,专业叫数据的重新组合。
shuffle过程会占到整个数据处理过程的百分之六十以上,分布式计算引擎之所以可以做到数据的高效处理是因为一开始就把要处理的数据平均分成了多份,每个服务器并行处理其中一份;但是对于一些比较复杂的数据处理来说光并行还不够,为了满足一些复杂的业务需求服务器之间的数据还需要进一步交互,比如服务器1需要跟服务器2,服务器3需要跟服务器4上面的数据进行重组、合并,这个时候就只能把这些个需要重新合并的数据再次输入到其他服务器上,为了更好的完成数据的这种重新组合需要将一部分数据写入到磁盘中来协助完成这个过程,这种将原本分布在多台服务器上的数据通过某种业务规则进行重新合并的过程就是shuffle了。