文章地址:http://www.haha174.top/article/details/254421
假设现在有一个配置文件很大又100M.默认的情况下算子函数使用到的外部的数据,会拷贝到每一个task中,此时如果使用到的外部的数据很大的话,那么岂不是在各个节点都会占用大量的内存!而且会产生大量的网络传输,大量的网络通信造成性能的开销。
这种情况下就应该对外部大数据进行Broatcast 广播,然后让其在每个节点上,就一分副本,而不是每个task 一份副本,大大减少每个节点的内存占用空间。
val BroatCastConf=sc.broatcast(myconf)
这样的话每个节点上就一个副本而不是每个task 一个副本大大减少每个节点上的占用空间。