1.当在算子内使用到Driver端的一个变量的时候,这个变量封装到Task中,变为一个变量副本,发送到Executor中执行
2.由于task 的数量一般大于executor 的数量,会产生很多的变量副本,会降低任务执行的速度
3.使用广播变量的步骤
在 Driver端定义一个广播变量
在算子中如果使用到广播变量,会先向executor 中索取
如果executor中没有这个广播变量,executor回去Driver端获取广播变量
后续的 Task 可以直接使用
使用广播变量后 广播变量的 副本数 M<= executor 的数量
spark广播变量
最新推荐文章于 2024-07-25 10:39:07 发布