1 Map端优化
1.1 Map端聚合
map-side预聚合,就是在每个节点本地对相同的key进行一次聚合操作,类似于MapReduce中的本地combiner。map-side预聚合之后,每个节点本地就只会有一条相同的key,因为多条相同的key都被聚合起来了。其他节点在拉取所有节点上的相同key时,就会大大减少需要拉取的数据数量,从而也就减少了磁盘IO以及网络传输开销。
本文详细探讨了Spark作业的优化,包括Map端的优化(如Map端聚合、小文件读取优化、增大map溢写输出流buffer)、Reduce端优化(如合理设置Reduce数、输出小文件优化、增大reduce缓冲区、调节重试次数和等待间隔)以及整体优化(如调节数据本地化等待时长、使用堆外内存和调节连接等待时长)。通过这些策略,可以显著提高Spark作业的性能和效率。
map-side预聚合,就是在每个节点本地对相同的key进行一次聚合操作,类似于MapReduce中的本地combiner。map-side预聚合之后,每个节点本地就只会有一条相同的key,因为多条相同的key都被聚合起来了。其他节点在拉取所有节点上的相同key时,就会大大减少需要拉取的数据数量,从而也就减少了磁盘IO以及网络传输开销。
403
340

被折叠的 条评论
为什么被折叠?