Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark apachespark分区_Apache Spark_Partitioning - Fatal编程技术网

Apache spark apachespark分区

Apache spark apachespark分区,apache-spark,partitioning,Apache Spark,Partitioning,我有一个问题: 如果执行分区,则执行如下操作 reduce/fold,这是否意味着分区已撤消,我将 必须在操作后重新分区以获得更好的性能?Spark return中的操作 对于纯粹用于副作用的操作,例如foreach,没有任何内容(None,在PySpark中,void,在Java中,Unit) 用于其他操作的本地、非分布式对象 同时,操作不会影响不可变对象或被调用的对象(缓存、检查点、缓存无序文件和计算统计数据可能产生的副作用除外) 因此,分区在这里并不是真正有意义的概念 结果不是Spar

我有一个问题:

如果执行分区,则执行如下操作 reduce/fold,这是否意味着分区已撤消,我将
必须在操作后重新分区以获得更好的性能?

Spark return中的操作

  • 对于纯粹用于副作用的操作,例如
    foreach
    ,没有任何内容(
    None
    ,在PySpark中,
    void
    ,在Java中,
    Unit

  • 用于其他操作的本地、非分布式对象

同时,操作不会影响不可变对象或被调用的对象(缓存、检查点、缓存无序文件和计算统计数据可能产生的副作用除外)

因此,分区在这里并不是真正有意义的概念


结果不是Spark分布式数据结构,因此分区不适用,源不被修改(并且是描述,不是容器)。

Spark返回中的操作

  • 对于纯粹用于副作用的操作,例如
    foreach
    ,没有任何内容(
    None
    ,在PySpark中,
    void
    ,在Java中,
    Unit

  • 用于其他操作的本地、非分布式对象

同时,操作不会影响不可变对象或被调用的对象(缓存、检查点、缓存无序文件和计算统计数据可能产生的副作用除外)

因此,分区在这里并不是真正有意义的概念


结果不是Spark分布式数据结构,因此分区不适用,源不被修改(并且是描述,而不是容器)。

数据分区后,Spark将维护分区,以便进一步处理,包括转换/操作,除非您进行修复或合并


创建分区后,每个执行者将分配一个任务,以便在分配给它的分区的一个阶段中运行转换/操作,并且分区(更新)将在数据分区后从一个阶段移动到任何转换/操作的另一个阶段,分区由Spark维护,以便进一步处理,包括转换/操作,除非您进行修复或合并


创建分区后,每个执行者将分配一个任务,在分配给它的分区的一个阶段中运行转换/操作,分区(更新)将从一个阶段移动到任何转换/操作的另一个阶段

回答了我两个问题的前半部分。我把它编辑了出来。如果你减少了这个RDD中分区的数量,考虑使用CuleSeCE,这可以避免执行洗牌。我的两个问题的第一部分得到了回答。我编辑了这一点。如果你减少了这个RDD中分区的数量,考虑使用CueSeCE,这可以避免执行洗牌。