2016-11-16 77 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