spark性能调优(四):网络

博客探讨了在Spark大数据处理中,网络开销在CPU、内存、磁盘资源之间的显著影响。内容涵盖数据读写的网络延迟、Shuffle操作如何引入网络开销,以及数据传输中的序列化问题。优化本地性级别和理解数据传输过程对于提升Spark性能至关重要。
摘要由CSDN通过智能技术生成

在平衡不同硬件资源的时候,相比于CPU、内存、磁盘,网络开销处理延迟最高

一、数据读写

  • 对于大多数应用来说,第一步都是从分布式系统中读取数据,不论什么文件格式,也不管哪种文件存储系统,访问数据源是否会引入网络开销,取决于任务与数据的本地性关系,也就是任务的本地性级别
本地性级别
process_level 任务与数据在同个JVM进程中
local_level 任务与数据在同一个计算节点上,任务可能在磁盘或者另一个JVM进程中
rack_level 任务与数据不在同一节点,但在同一个物理机架上
any 任务与数据是跨机架,甚至是跨数据中心(DC)的关系
  • 在读取数据源阶段,数据还未加载到内存,无法到process_level,调度的最高级别是node_level
  • 此外还有一些内存文件系统,如Alluxio,数据读取的时候,有可能是process_level
  • 因此,要想是node_level,spark与外部存储系统在物理上需要是紧紧耦合在一起的,物理上紧耦合,spark会用磁盘I/O代替网络开销,物理上分离,网络开销就无法避免
  • Spark调度的核心是数据不动代码动,若是process
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我爱夜来香A

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值