Spark中闭包的理解

概念的理解:函数可以访问函数外面的变量,但是函数内对变量的修改,在函数外是不可见的。 RDD相关操作都需要传入自定义闭包函数(closure),如果这个函数需要访问外部变量,那么需要遵循一定得规则,否则会抛出运行时异常。闭包函数传入到节点时,需要经过下面的步骤: 驱动程序,通过反射,运行时找到闭包访问的所有变量,并封成一个对象,然后序列化该对象; 将序列化后的对象通过网络传输到worker节点;
相关文章
相关标签/搜索