1)如何预先确定将要分配的RDD分区数 创建?
2)数据分区的所有因素取决于什么?是 它只是数据的大小和存储方式(压缩,顺序 等。)
对于Simplicity,假设我将HDFS中的6GB文件存储为纯文本文件。
我的群集是具有以下配置的EC2群集,
1个主节点 - m3.xlarge(4核,15GB Ram)
4个核心节点 - m3.xlarge(4核,每个15GB Ram)
更新 如果相同的内容存储在s3,HBase或任何NoSQL中会发生什么?
答案 0 :(得分:2)
分区取决于文件类型。在您的情况下,由于它是HDFS文件,因此默认的分区数是输入拆分的数量,这取决于您的hadoop设置。但如果你想要的只是一种理解它是如何工作的方式。
val inputSplits = inputFormat.getSplits(jobConf, minPartitions)
val array = new Array[Partition](inputSplits.size)