当前位置:首页>维修大全>综合>

spark hadoop运行原理(spark架构原理与集群搭建运行模式)

spark hadoop运行原理(spark架构原理与集群搭建运行模式)

更新时间:2024-06-18 14:53:26

spark hadoop运行原理

1)输入文件数据。将文件数据以分片(partition)的形式输入,根据分片的大小将数据分为多个分片(例如分片大小为50M,若文件数据仅为3M则仅需要一个分片,若为65M则需要两个分片),具体的数据形式为 key:value。

(2)Map阶段

对于具体的任务选择性的进行combine。如若任务为求最大/小时,可以在分片内先进行简单的reduce合并,根据key的不同先求出每一个key的最大/小,以减小后面真正reduce阶段时数据量过大产生的压力,可以提高传输速率。但当任务是求平均时,则不可以这么做,因为先分片内key相同的数据求平均,再各个分片key相同的数据求平均的结果与直接将所有key相同的数据求平均,结果大概率是不一样的。

根据key对数据进行排序

输出会写到内存缓冲区,空间都存满后,其他数据会被写到磁盘中。

(3)Shuffle阶段

Map阶段中主要对分片内的数据进行了拆分和简单的组合,而shuffle阶段则是将Map阶段各个分片的输出做一个整合并重新分片。具体来说,shuffle阶段会把key进行hash操作,相同的结果放入同一个分片,把所有分片中相同的key对应的key:value对组合在一起放入同一个分片,方便后续对相同key的数据做统一处理。

(4)Reduce阶段

Reduce阶段通过将key相同的数据(已经由Shuffle阶段存储在同一个分片中)根据要求合并运算得到最终的结果,这时每一个key仅存在一个value,将key:value结果存入HDFS

更多栏目