在读取大量文本文件时,Spark 创建的任务数量让我有点困惑。
这是代码:
val files = List["path/to/files/a/23",
"path/to/files/b/",
"path/to/files/c/0"]
val ds = spark.sqlContext.read.textFile(files :_*)
ds.count()
每个文件夹包含 24 个文件,因此从读取a, b, c
完整文件夹后总共有 26 个文件。b
现在,如果我执行一个动作,比如.count()
,Spark UI 会显示有 24 个任务。但是,我会认为有 26 个任务,例如每个分区 1 个任务和每个文件 1 个分区。
如果有人能给我更多关于实际发生的事情的见解,那就太好了。