【发布时间】:2018-11-08 05:42:37
【问题描述】:
sc = SparkContext("Local")
rdd = sc.binaryFiles(Path to the binary file , minPartitions = 5).partitionBy(8)
或
sc = SparkContext("Local")
rdd = sc.binaryFiles(Path to the binary file , minPartitions = 5).repartition(8)
使用上述任一代码,我试图在我的 RDD 中创建 8 个分区 {其中,我希望数据均匀分布在所有分区上}。当我打印 {rdd.getNumPartitions()} 时,显示的分区数仅为 8,但在 Spark UI 上,我观察到虽然创建了 8 个分区,但所有整个二进制文件数据只放在一个分区上。
注意:minPartition 属性不起作用。即使设置 minPartitions = 5,RDD 中的分区数也只有 1。因此,使用了 partitionBy/repartition 函数。
这是期望的行为还是我错过了什么?
【问题讨论】:
标签: apache-spark pyspark rdd binaryfiles partitioning