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 控制

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