如果文件有4个分区,如何执行任务数量?

Var*_*590 3 scala apache-spark apache-spark-sql

我有一个560 Mb的csv文件,我已经从HDFS读取了csv.当我使用df.rdd.partitions.size它检查文件的分区数时显示4个分区.如果我刚刚检查了使用df.count()作业的总行数,则提交了2个阶段和5个任务的所有阶段.

我需要了解阶段的总数是2,所有阶段的任务总数是5.我已经知道每个分区有1个任务,所以应该是4个.

提前致谢.

sha*_*y__ 6

这是因为count需要额外的舞台.第一个阶段使用4个分区(= 4个任务)读取输入文件,每个分区使本地行计数.第二阶段只有一个任务,它读取所有先前的计数(4个文件)并对它们求和.所以整个Job有两个阶段,总共有5个任务.