#apache-spark #pyspark #spark-submit
#apache-искра #pyspark #spark-отправить
Вопрос:
В программе PySpark после pyspark
добавления модулей в path я могу импортировать from pyspark.sql import SparkSession
и создавать экземпляры SparkSession
.
Когда можно отправлять задания pyspark с использованием python3
исполняемого файла (например python3 myApp.py
, вместо spark-submit myApp.py
? Я протестировал это локально в клиентском режиме, и, кажется, все работает нормально. А как насчет cluster
режима? Что делает необходимым его использование spark-submit
в определенных ситуациях?
Использование python3
исполняемого файла для вызова приложения упрощает отладку программы с помощью IDE, такой как PyCharm (насколько я знаю).
Ответ №1:
Вам нужна следующая переменная в вашем коде со значением, зависящим от вашего пути python и пути pyspark python:
import os
import findspark
findspark.init('/usr/lib/spark')
os.environ['PYSPARK_PYTHON']="/usr/bin/python3"
os.environ['PYSPARK_DRIVER_PYTHON']="/usr/bin/python3"
os.environ['PYSPARK_SUBMIT_ARGS'] = """
--name job_name
--master yarn
--deploy-mode client / cluster
pyspark-shell"""
Вы также можете определить другую конфигурацию.