我有一个560 Mb的csv文件,我已经从HDFS读取了csv。当我使用df.rdd.partitions.size
检查文件的分区数时,它显示了4个分区。如果我只是使用df.count()
检查了总行数,则会为所有阶段提交一个包含2个阶段和5个任务的作业。
我需要了解阶段的总数是2,所有阶段的任务总数是5.我已经知道每个分区有1个任务,所以应该是4个。
先谢谢。
答案 0 :(得分:5)
这是因为count
需要额外的舞台。第一个阶段使用4个分区(= 4个任务)读取输入文件,每个分区使本地行计数。第二阶段只有一个任务,它读取所有先前的计数(4个文件)并对它们求和。所以整个工作有两个阶段,共有5个任务。