Apache Улучшение производительности Spark - PullRequest
0 голосов
/ 19 июня 2020

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

sparkSession.sparkContext().setCheckpointDir(HDFSpath+appId);
 dataset.checkpoint(true);

Вопрос в том, есть ли способ проверить, установлен ли уже фрейм данных для определенного appID, если нет, то продолжить существующий поток.

Или, если есть более эффективный способ достичь вышеуказанной цели долгосрочного хранения фрейма данных, используя сохранение на диск или другие методы без необходимости хранить данные в памяти или создавать таблицу каждый раз?

...