【问题标题】:Spark RDD: Vary the size of each partitionSpark RDD:改变每个分区的大小
【发布时间】:2015-12-02 01:00:33
【问题描述】:

我需要执行器在不同时间完成数据处理。

我认为最简单的方法是让 RDD 分区没有统一的大小。我该怎么做?

【问题讨论】:

    标签: apache-spark pyspark rdd


    【解决方案1】:

    不确定您要达到什么目的,但您可以使用partitionBy 对 RDD 进行分区,例如:

    sc.parallelize(xrange(10)).zipWithIndex()
      .partitionBy(2, lambda x: 0 if x<2 else 1)
      .glom().collect()
    
    [[(0, 0), (1, 1)], [(2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9)]]
    

    请注意,它适用于 (k,v) RDD,并且分区函数仅将 k 作为参数

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-18
      • 1970-01-01
      • 2016-10-19
      • 2014-06-01
      • 1970-01-01
      相关资源
      最近更新 更多