【问题标题】:Number of Partitions of Spark DataframeSpark Dataframe 的分区数
【发布时间】:2017-01-15 01:30:39
【问题描述】:

谁能解释一下将为 Spark Dataframe 创建的分区数量。

我知道对于 RDD,在创建它时我们可以像下面这样提及分区的数量。

val RDD1 = sc.textFile("path" , 6) 

但是对于 Spark 数据框,在创建时我们似乎没有像 RDD 那样指定分区数量的选项。

我认为唯一的可能性是,在创建数据框后,我们可以使用重新分区 API。

df.repartition(4)

那么任何人都可以告诉我是否可以在创建数据框时指定分区数。

【问题讨论】:

  • 如果提供的解决方案回答了您的问题,请接受它以关闭问题或评论它为什么不能解决它!

标签: apache-spark dataframe apache-spark-sql


【解决方案1】:

您不能,或者至少在一般情况下不能,但与 RDD 相比并没有什么不同。例如,您提供的 textFile 示例代码仅对 minimum number of partitions 设置了限制。

一般:

  • 使用rangetoDF 等方法在本地生成的Datasets 将使用spark.default.parallelism
  • RDD 创建的Datasets 从其父级继承分区数。
  • Datsets 使用数据源 API 创建:

  • 某些数据源可能会提供额外的选项来更好地控制分区。例如 JDBC 源允许您设置分区列、值范围和所需的分区数。

【讨论】:

    【解决方案2】:

    spark dataframe(200) 中的默认随机分区数

    rdd(10) 中的默认分区数

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-06
      • 1970-01-01
      • 2018-01-19
      • 1970-01-01
      • 2019-03-02
      • 1970-01-01
      • 1970-01-01
      • 2018-11-05
      相关资源
      最近更新 更多