大量数据量下,很实用的共享变量

最近在负责Spark Streaming 结合 Spark Sql的相关项目,语言是Java,留下一些笔记,也供大家参考,如有错误,请指教!

共享变量,又称广播变量:

每个worker节点中缓存一个副本,通过高效广播算法提高传输效率,广播变量是只读的;

broadcastList = jsc.sc().broadcast(Arrays.asList("Hadoop","Mahout","Hive"));

但实际使用中很少使用。

工程中最多的还是累加器

accumulator = jsc.sparkContext().accumulator(0,"OnlineBlackListCounter");

可以向调用端传输所有任务成功数,或者成功率。

你可能感兴趣的:(大量数据量下,很实用的共享变量)