Apache Spark 分区
Apache Spark partitioning
我有这个问题:
如果我执行分区然后执行诸如
reduce/fold,是不是表示分区取消了,我会
必须在操作后重新分区以获得更好的性能?
Spark 中的操作 return
Nothing(None
在 PySpark 中,void
在 Java 中,Unit
在 Scala 中)用于纯粹用于副作用的操作,如 foreach
.
用于其他操作的本地非分布式对象。
同时,操作不会影响不可变对象或被调用的对象(缓存、检查点、缓存随机文件和计算统计数据可能产生的副作用除外)。
因此分区在这里并不是真正有意义的概念。
结果不是 Spark 分布式数据结构,因此分区不适用,源未修改(并且是描述,而不是容器)。
数据分区后,分区将由 Spark 维护以供进一步处理,包括 transformation/actions 除非您进行修复或合并。
创建分区后,每个执行器将分配任务给运行 transformation/action 在其分配到的分区的阶段中,分区(更新)从一个阶段移动到任何 transformations/actions
的另一个阶段
我有这个问题:
如果我执行分区然后执行诸如 reduce/fold,是不是表示分区取消了,我会 必须在操作后重新分区以获得更好的性能?
Spark 中的操作 return
Nothing(
None
在 PySpark 中,void
在 Java 中,Unit
在 Scala 中)用于纯粹用于副作用的操作,如foreach
.用于其他操作的本地非分布式对象。
同时,操作不会影响不可变对象或被调用的对象(缓存、检查点、缓存随机文件和计算统计数据可能产生的副作用除外)。
因此分区在这里并不是真正有意义的概念。
结果不是 Spark 分布式数据结构,因此分区不适用,源未修改(并且是描述,而不是容器)。
数据分区后,分区将由 Spark 维护以供进一步处理,包括 transformation/actions 除非您进行修复或合并。
创建分区后,每个执行器将分配任务给运行 transformation/action 在其分配到的分区的阶段中,分区(更新)从一个阶段移动到任何 transformations/actions
的另一个阶段