Память Spark RDD
Фон:
1, Spark 64 ядра (исполнители), 2 узла, 32 ядра / каждое, 100 ГБ памяти / узел
2, 1 ГБ Float 2D двоичные данные массива
[
0.2, 0.6 ...
]
3. Операция: отобразить каждую ячейку массива в список кортежей, тиражированных 5 раз для каждой ячейки, например:
((id0, 0.2),(id1, 0.2), (id2, 0.2),(id3, 0.2),(id4, 0.2), (id5, 0.2), (id6, 0.6) ..... )
id: is calculated based on some standard.
Из интерфейса Spark я обнаружил, что размер импортируемых данных составляет 105 ГБ (слишком большой?).
На мой взгляд, 15 ГБ это грубое число.
(1GB Array Data (Float) + 2 GB id (long) ) * 5 = 15GB
* 5 because that each cell is repeated five times in my flatmap function.
Как Spark представляет эти данные в памяти, почему они такие большие?