RDD的創建大多數情況下是從hdfs文本來的,當然也可以從其他組件接入進來,如kafka、hbase等,后續介紹
創建類型:
val hdfs = sc.textFile("hdfs://master:9000/entry/201707/*")
val localFile = sc.textFile("/usr/log/applog/entry*")
val parallel= sc.parallelize(1 to 20 ,2)
val maked = sc.makeRDD(1 to 20 3)
1、文本類型
沒有指定分區個數的,如果是hdfs則和文本的block數一致,且分布也是一致的,如果不是hdfs則分區個數為當前機器的cpu個數。
2、并行創建類型
上面的parallelize和makeRDD方法創建的RDD,是以spark的woker個數為分區個數,因為執行這個集合函數是以分區方式執行的,所以會和worker的個數一致。