Это довольно сложно детерминистически найти точное количество времени, которое вам нужно для итерации по набору данных.
После того, как вы прочитаете данные с диска и из кеша, spark материализует набор данных и представит его в памяти в формате вольфрама.
Теперь, какой будет размер набора данных в памяти, который зависит от типа данных различных столбцов вашего набора данных. Также из-за десериализации данных это займет больше памяти, чем данные сериализованного диска.
По моему опыту, для размещения данных паркета в памяти обычно требуется 3-4X памяти. Таким образом, если у вас есть данные 50 ГБ в HDFS в паркете, вероятно, вам нужно около 200 ГБ памяти в кластере для кэширования полных данных.
Вам нужно сделать пробу и ошибку, прежде чем подойдете к идеальному числу здесь.