spark读取parquet文件,分配的任务个数

假设path为一个parquet文件目录,该目录下有64个part。大小共100G,数据均匀分布,采用gz或snappy等不可分割的压缩算法。

那么执行以下代码。会起多少个task呢?

val df = spark.read.parquet(path)

df.count

 

博主以为gz文件不可分割,所以会起64个part。但是结果起了1000+个task。

原因:

parquet文件压缩是内部数据分块压缩,而不是整个压缩。也就是说所谓的不可分割指的是block不可分割。

起的task数目应该是block个数,block的大小可由 parquet.block.size 控制

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章