Невозможно выполнить искровое задание с помощью SparkSubmitOperator - PullRequest
0 голосов
/ 25 мая 2018

Я могу запустить Spark задание, используя BashOperator, но я хочу использовать SparkSubmitOperator для него, используя Spark автономный режим .


Вот мой DAG для SparkSubmitOperator и трассировка стека

args = {
    'owner': 'airflow',
    'start_date': datetime(2018, 5, 24)
}
dag = DAG('spark_job', default_args=args, schedule_interval="*/10 * * * *")

operator = SparkSubmitOperator(
    task_id='spark_submit_job',
    application='/home/ubuntu/test.py',
    total_executor_cores='1',
    executor_cores='1',
    executor_memory='2g',
    num_executors='1',
    name='airflow-spark',
    verbose=False,
    driver_memory='1g',
    conf={'master':'spark://xx.xx.xx.xx:7077'},
    dag=dag,
)

Глядя на источник для spark_submit_hook кажется_resolve_connection() всегда устанавливает master=yarn.Как изменить master значение свойства на Spark автономный главный URL-адрес?Какие свойства я могу установить для запуска Spark задания в автономном режиме ?

1 Ответ

0 голосов
/ 26 мая 2018

Вы можете создать новое соединение с помощью веб-интерфейса Airflow или изменить соединение spark-default.

Change Spark-default connection in Airflo

Master может быть local, yarn, spark://HOST:PORT, mesos://HOST:PORT и k8s://https://<HOST>:<PORT>.

Вы также можете указать следующие команды в дополнительных функциях:

{"queue": "root.default", "deploy_mode": "cluster", "spark_home": "", "spark_binary": "spark-submit", "namespace": "default"}

Airflow Spark Submit Extras

Либо двоичный файл "spark-submit" должен быть в переменной PATH, либо в соединении устанавливается дополнительный дом искры.

...