怎么对spark streaming 的每个batch 进行broadcast

0
 怎么对spark streaming 的每个batch  进行broadcast, 并且关联HDFS文件上的大文件,HDFS上的数据更新频率一个月更新一次
已邀请:
0

regan - run! run! run! happy runner! 我是奔跑的小米~ 2017-02-19 回答

你的处理逻辑反了~正确的处理逻辑是广播大文件,与每个batchInterval数据做关联。。。。如果transformation中需要依赖外部的比较大的数据集,通常大于20K,建议broadcast之。原理是每个任务都会得到一个该外部变量的副本,如果任务比较多,则每个任务中都要有一个该变量的副本,会造成大量的网络IO及频繁的出发minor GC甚至Full GC。而通过广播大变量,在每一个Executor上只保存一份变量的副本,Executor上的任务共享该变量,大大减小网络IO。。。。。

要回复问题请先登录注册