我试图了解如何在Apache Spark中完成分区。你能帮忙吗?
以下是该方案:
count.txt
,大小为10 MB 以下创建了多少个分区?
rdd = sc.textFile(count.txt)
文件的大小是否会对分区数产生影响?
答案 0 :(得分:21)
默认情况下,为每个HDFS分区创建一个分区,默认情况下为64MB(来自Spark Programming Guide)。
可以传递另一个参数defaultMinPartitions
,该参数会覆盖spark将创建的最小分区数。如果您不覆盖此值,则spark将创建至少与spark.default.parallelism
一样多的分区。
由于spark.default.parallelism
应该是群集中所有计算机的核心数量,因此我认为在您的情况下至少会创建3个分区。
您还可以repartition
或coalesce
RDD更改分区数量,进而影响可用并行度的总量。