Я использую pyspark 2.1.0 с mon go разъемом 1.2 для выполнения процесса ETL, и это требует 19-20 минут работы с 3 исполнителями. Когда я увеличиваю количество исполнителей, во время выполнения не так много улучшений. То же самое с кэшированием некоторых распространенных фреймов данных. Когда я искал в Интернете, разделение rdd также упоминалось как важный шаг в улучшении производительности во время выполнения. Но, насколько я понимаю, кадры данных искры уже разбиты на разделы и не требуют повторного разделения.
Во-вторых, когда я кеширую фрейм данных, это правильный способ кеширования?
def loadDF():
<function body>
return DF
DF = loadDF()
DF.cache()
или это так?
def loadDF():
<function body>
return DF
DF.cache()
DF = loadDF()
Что такое общие причины не улучшить время выполнения с увеличением числа исполнителей / кэширование общих фреймов данных? Как я могу улучшить производительность моего процесса ETL. Любые комментарии с благодарностью.