天天看点

颠覆大数据分析之Spark VS分布式共享内存系统

颠覆大数据分析之Spark VS分布式共享内存系统

在spark中,开发人员调用map,filter或reduce操作时可以传入函数或者闭包。一般来说,当spark在工作节点上运行这些函数的时候,函数使用域内的本地变量会被拷贝出来。spark有一个共享变量的概念,它使用广播变量和累加器来模拟“全局”变量。开发人员使用广播变量一次性地将只读数据拷贝给所有的工作者。(类共轭梯度下降的算法中的静态矩阵可以使用广播变量来表示)累加器是只能由工作者来增加并由驱动程序去读取的变量——这样并行聚合可以实现成支持容错的。值得注意的是全局变量是在spark中模仿dsm功能的一种特殊方式。

继续阅读