Sprak 广播变量

广播变量(Broadcast Variables)允许开发人员在每个节点(Worker or Executor)缓存只读变量,而不是在Task之间传递这些变量。调用sc.broadcast(v)创建一个广播变量,该广播变量的值封装在v变量中,可使用获取该变量value的方法进行访问。
原理 将小表的数据 广播到每个executor 所在的内存当中, 每个executor内可能有多个task,但是只存在一个小表的数据

Hive 对 大表和小表join的优化 就会走Map join
每个block 就是一个task任务
原理 将小表数据 先读到每个task 任务所在的内存当中,有几个task 就有几个 bkl
网友评论