SparkRDD的分割槽

2021-09-26 06:33:04 字數 417 閱讀 7748

rdd的分割槽,在運算元裡面未指定rdd的分割槽的時候,預設的分割槽數和核數相同,同理也會啟動相應的task個數

原始碼中的分割槽數預設是2

sc.textfile(""),其中分割槽數和讀取的小檔案數相同,都小於128m,

基於spark2.2.0的,textfile預設是呼叫的是hadoop的textfile,底層呼叫的是textinputformat()然後是inputformat,假設現在有三個檔案,兩個檔案是5k,6k,有乙個600k,那麼分割槽數是4個,理想切片數是(5+6+600)/2 的大小,因此600超過理想切片個數,之前說是低於128m的算乙個切片,對於同乙個檔案大小小於128m的0.1倍的時候會作為乙個切片處理,

*****=筆者有空會貼原始碼

注意:分割槽數和task個數是相同的 ,task在driver端生成,在executor端執行

Spark RDD分割槽數和分割槽器

partition rdd有個partitions方法 final def partitions array partition 能夠返回乙個陣列,陣列元素是rdd的partition。partition是rdd的最小資料處理單元,可以看作是乙個資料塊,每個partition有個編號index。乙個...

Spark RDD 建立和分割槽規則

1.1 從集合中建立rdd 從集合中建立rdd,主要提供了兩種函式 parallelize和makerdd package com.xcu.bigdata.spark.core.pg02 rdd.pg021 rdd create import org.apache.spark.rdd.rdd imp...

舉例說明Spark RDD的分割槽 依賴

例子如下 scala val textfilerdd sc.textfile users zhuweibin downloads hive 04053f79f32b414a9cf5ab0d4a3c9daf.txt 15 08 03 07 00 08 info memorystore ensurefr...