【发布时间】:2018-01-19 15:55:36
【问题描述】:
我在读取 spark 数据帧时发现了这个奇怪的问题。我将数据帧重新分区为 50k 个分区。但是,当我读取数据帧并对其执行计数操作时,我发现当我使用 spark 2.0 时,底层 rdd 只有 2143 个分区。
所以我去了我保存重新分区数据的路径,发现
hfs -ls /repartitionedData/ | wc -l
50476
所以它在保存数据的同时创建了 50k 个分区。
但是使用 spark 2.0,
val d = spark.read.parquet("repartitionedData")
d.rdd.getNumPartitions
res4: Int = 2143
但是使用 spark 1.5,
val d = spark.read.parquet("repartitionedData")
d.rdd.partitions.length
res4: Int = 50474
有人可以帮我解决这个问题吗?
【问题讨论】:
标签: hadoop apache-spark apache-spark-sql spark-dataframe bigdata