Единый SparkContext для группы пользователей JupyterHub в режиме кластера

Я создаю платформу обработки данных для своей организации (пока что в качестве POC), которая будет использоваться только внутри компании максимум 20 участниками. Идея состоит в том, чтобы использовать:
Spark (в Kubernetes) для вычислений
Delta Lake на S3 для хранения (позже будет заменено на S3 на Minio) и
Самый маленький JupyterHub, чтобы члены команды могли взаимодействовать с данными.

Предыстория моих вопросов:
1. Насколько я понимаю, несколько SparkContexts не рекомендуются - см. здесь, в Stackoverflow и здесь. Кроме того, DeltaLake говорит то же самое для S3
2. Членам команды необходимо обновить (те же самые) небольшие таблицы DeltaLake, используя Jupyterub.
3. Ночные задания Spark могут потребоваться для обновления больших таблиц DeltaLake.


Мои вопросы:
1. Правильно ли я понимаю SparkContext?
2. Правильно ли иметь драйвер Spark и произвольное количество рабочих процессов Spark, всегда работающих в кластере, т. е. Spark в режиме кластера в Kubernetes и предоставьте членам команды доступ к нему с помощью SparkContext.Builder и getOrCreate() — ответ Stackoverflow?
3. Правильно ли запускать длительные ночные задания Spark с использованием одного и того же SparkContext?


person dsForev    schedule 29.11.2020    source источник