广播变量:
比如数据库中一份公共配置表格,需要同步给各个节点进行查询。
广播变量允许程序缓存一个只读的变量在每台机器上面,而不是每个任务保存一份拷
贝。例如,利用广播变量,我们能够以一种更有效率的方式将一个大数据量输入集合的
副本分配给每个节点。Spark也尝试着利用有效的广播算法去分配广播变量,以减少通
信的成本。
一个广播变量可以通过调用SparkContext.broadcast(v)方法从一个初始变量v中创建。广
播变量是v的一个包装变量,它的值可以通过value方法访问,下面的代码说明了这个过
程:
WordCount程序广播变量图解:
广播变量之hive优化