关于spark中 task数据本地化的五种方式

本文介绍了Apache Spark中的五种数据本地化级别:进程本地化(PROCESS_LOCAL)、节点本地化(NODE_LOCAL)、不偏好(NO_PREF)、机架本地化(RACK_LOCAL)及任意(ANY),并阐述了它们之间的效率差异及应用场景。
摘要由CSDN通过智能技术生成

Spark中,数据的本地化方式分为五种

PROCESS_LOCAL : 进程本地化 , task计算的数据在当前Executor中 不同task计算的时候可以共同用这一个数据集,效率高,节省资源
NODE_LOCAL : 节点本地化 , task计算的数据在当前节点上,task计算的时候不需要跨节点拉取数据,速度也是比较快的
NO_PREF : 没有本地化 ,这个方式的意思就是数据不是本地化的数据 比如我们的的MySQL数据库 如果我们需要的数据在MySQL中 就不牵扯到数据本地化的这个说法
RACK_LOCAL : task 计算所需要的数据在同机架不同节点上, 这种方式中,task计算的数据在不同节点上,就牵扯到网络传输的问题了 ,效率就没有那么高了
ANY : 这种方式就是比较随意的,可能会牵扯到跨机架的数据传输,效率最低

默认的优先级是从上到下 依次降低

/----第一次写博客,自己的见解,参考一些其他的见解,如有偏差,请指出----/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值