Я запускаю приложение pyspark v2.4.0 в Kubernetes, мое приложение Spark зависит от модулей numpy и tensorflow, пожалуйста, предложите способ добавления этих зависимостей в исполнители Spark.

Я проверил документацию, мы можем включить удаленные зависимости с помощью --py-files, --jars и т. Д., Но ничего не упомянуто о зависимостях библиотек.

1
Lakshman Battini 13 Ноя 2018 в 12:48

1 ответ

Лучший ответ

Нашел способ добавить зависимости библиотеки к приложениям Spark на K8S, подумал о том, чтобы поделиться им здесь.

Упомяните необходимые команды установки зависимостей в Dockerfile и перестройте искровый образ, когда мы отправим искровое задание, новый контейнер также будет создан с зависимостями.

Содержимое файла Dokerfile (/ {spark_folder_path} / resource-manager / kubernetes / docker / src / main / dockerfiles / spark / bindings / python / Dockerfile):

RUN apk add --no-cache python && \
    apk add --no-cache python3 && \
    python -m ensurepip && \
    python3 -m ensurepip && \
    # We remove ensurepip since it adds no functionality since pip is
    # installed on the image and it just takes up 1.6MB on the image
    rm -r /usr/lib/python*/ensurepip && \
    pip install --upgrade pip setuptools && \
    # You may install with python3 packages by using pip3.6
    pip install numpy && \
    # Removed the .cache to save space
    rm -r /root/.cache
1
Lakshman Battini 17 Ноя 2018 в 10:19