2016-11-16 72 views
0

如果我們有一個128MB的文件,HDFS分割爲128MB,並且發出sc.textFile(xxx,4),實際上會發生什麼?在這種情況下,RDD在分區方面實際上意味着什麼? 4個處理分區仍然還是隻有1個?單個HDFS上的SPARK RDD分區分割

回答

1

當你使用這樣的代碼:

JavaRDD<String> in = sc.textFile(xxx,4); 
in.persist(); 

然後你RDD有4個分區。他們應該有32 MB的大小。然後,你可以做一些喜歡這樣的:

rdd.count() 

當你用本地然後運行本地代碼[4],則數會隨着並行4個進程(任務)執行。

+0

好的,但是文本默認狀態是HDFS塊大小,所以這是不正確的。和你在一起。那麼,如果不使用本地[4]那麼呢?分區將全部在4個部分的同一節點的內存中,或者只有1個部分的指針指向開始,結束等。 MR似乎更容易遵循。 @Simon Schiff – thebluephantom