我正在运行一个作业读取2压缩文件与
JavaPairRDD<String, PortableDataStream> zipFilesRdd = sc.binaryFiles("*.zip"));
有时分区大小是2,有时是1。
使用flatmap函数,我创建了一个文档列表(zip文件的所有条目),并将其转换为Dataframe。重新分区后,此Dataframe的分区大小为16:
Column column = new Column("applicationYear");
int numberOfPartitions = (int) dataFrame.select("applicationYear").distinct().count();
Dataset<Row> applicationYear = dataFrame.repartition(numberOfPartitions, column);
共有19个分区,即所需的分区计数。但是,始终有255个任务以以下开头:
Dataset<String> keys = applicationYear.map(new MapPostProcessLoadVendor(), Encoders.STRING());
keys.collect();
为什么忽略Dataframe的分区数(有和没有重新分区)?在zipfilesrdd的情况下,使用从1到2的重新分区。
spark-3.1.1,postgres数据库。
暂无答案!
目前还没有任何答案,快来回答吧!