变量作用域问题

2018/04/09
首先一定要明白一个问题,那就是你py程序里面的变量作用域问题。


因为你程序是工作在一个分布式机器上的,那么这些个数据就会分布在不同的机器上,或者说container上。
要明确spark的工作架构,各个不同的工作身份。那么一个变量他是不是在不同的机器执行,他是不是最后会汇总到我们的地方。
这就是问题。
总体上意思就是说,变量是不是在不同的工作身份上他做的这个操作会怎么样影响这个东西。
。。。

说的不明白,整体意思就是,他是分布式的,数据也是分散在不同的机器上的,他的所有的操作也是都工作于不同的机器上的。
那么我设置的一个操作,可能不是他spark内建的操作,那么就可能说,这个操作就在那台机器上进行了操作,但是没有办法返回懂到我的驱动(driver)的地方。

http://spark.apache.org/docs/latest/rdd-programming-guide.html#understanding-closures-
他举得这个print的例子就比较好理解。


更具体的,就得好好明白明白这个spark的具体工作流程了。


2018/04/13
RDD不同的分区,在集群上不同的节点工作。

Each RDD is split into multiple partitions, which may be computed on different nodes of the cluster, on different stages.

这句话,就比较简单的回答了上面的一些问题。

你可能感兴趣的:(变量作用域问题)