#airflow
#воздушный поток
Вопрос:
Я уже некоторое время использую Apache Airflow, и из-за варианта использования мне нужно переписать SparkSubmitOperator в SSHOperator. Мой airflow установлен на AWS EMR, и отправка spark-submit должна произойти на том же EMR. Но оператор завершает работу с ошибкой — Исключение AirflowException: ошибка оператора SSH: нет доступных методов аутентификации
Я использую по умолчанию ssh_conn_id=ssh_default и также пытался передать как ssh_hook, но, похоже, ничего не работает
dag-файл
hook = SSHHook(ssh_conn_id='ssh_default')
spark_submit = """
spark-submit ....
"""
process = SSHOperator(
task_id='execute_pySpark',
ssh_hook=hook,
command=spark_submit,
do_xcom_push=True
)
подключение воздушного потока
Conn Id: ssh_default
Conn Type: SSH
Host: localhost
Приветствуется любая информация. Заранее благодарю вас!
Ответ №1:
Настройте свое SSH-соединение в соответствии с деталями, указанными на https://airflow.readthedocs.io/en/1.10.2/howto/manage-connections.html ?выделите=SSHOperator#ssh
Добавьте username
и password
, если таковой имеется. Host
Поле должно содержать IP-адрес вашей удаленной виртуальной машины, если только ваш Spark Master не находится на localhost.