2015-06-04 2 views
1

1) Как определить количество разделов RDD, которое будет ?
2) от каких факторов зависит разбиение данных? Является ли это только размер данных и способа его хранения (сжато, последовательность и т.д ..)Предопределяющее количество разделов RDD

Для простоты предположим, что у меня есть файл 6GB в HDFS хранящимися в виде обычного текстового файла.

Мой кластер представляет собой EC2 кластер с ниже конфигурации,

1 главный узел - m3.xlarge (4 ядра, 15GB ОЗУ)

4 основные узлы - m3.xlarge (4 ядра, 15GB Ram каждый)

UPDATE: Что произойдет, если же хранится в s3, HBase или любой NoSQL?

ответ

2

Разделы зависят от типа файла. В вашем случае, поскольку это файл HDFS, тогда по умолчанию количество разделов - это количество входных расщеплений, и это будет зависеть от вашей настройки hadoop. Но если все, что вам нужно, это способ понять, как это работает.

С HadoopRDD.getPartitions:

val inputSplits = inputFormat.getSplits(jobConf, minPartitions) 
val array = new Array[Partition](inputSplits.size) 
+0

Так что, если мой HDFS размер блока 128, то 6GB/128MB = 8 * 6 = 24 расколы, что означает 24 разделов, то он будет создан, не так ли? – Akash

+0

Звучит прямо на меня –

+1

Как насчет s3? Есть идеи? Будет ли это так же, как HDFS? – Akash

Смежные вопросы