java—spark中的分区和任务数

ut6juiuv  于 2021-07-12  发布在  Java
关注(0)|答案(0)|浏览(211)

我正在运行一个作业读取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数据库。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题