谁能解释一下将为 Spark Dataframe 创建的分区数量。
我知道对于 RDD,在创建它时我们可以提及分区的数量,如下所示。
val RDD1 = sc.textFile("path" , 6)
但是对于 Spark 数据帧,在创建时看起来我们没有像 RDD 那样指定分区数量的选项。
我认为唯一的可能性是,创建数据帧后我们可以使用重新分区 API。
df.repartition(4)
那么任何人都可以告诉我我们是否可以在创建数据框时指定分区的数量。
你不能,或者至少在一般情况下不能,但它与 RDD 相比并没有那么不同。例如textFile
您提供的示例代码仅设置了限制最小分区数.
一般来说:
-
Datasets
使用类似方法在本地生成range
or toDF
在本地集合上将使用spark.default.parallelism
.
-
Datasets
创建自RDD
从其父级继承分区数量。
-
Datsets
使用数据源API创建:
- 在 Spark 1.x 中,通常取决于 Hadoop 配置(最小/最大分割大小)。
- 在 Spark 2.x 中正在使用 Spark SQL 特定配置.
- 某些数据源可能提供额外的选项,以便更好地控制分区。例如,JDBC 源允许您设置分区列、值范围和所需的分区数量。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)