Я только начал использовать Airflow для координации нашего конвейера ETL.
Я столкнулся с ошибкой конвейера при запуске dag.
Я видел общее обсуждение stackoverflow здесь .
Мой случай больше касается стороны воздушного потока.Согласно обсуждению в этом посте, возможная основная причина:
Ошибка прерванного канала обычно возникает, если ваш запрос заблокирован или занимает слишком много времени, а после тайм-аута на стороне запроса он закрываетсоединение, а затем, когда отвечающая сторона (сервер) попытается записать в сокет, он выдаст ошибку обрыва канала.
Это может быть реальной причиной в моем случае, у меня есть pythonoperatorэто запустит другую работу за пределами Airflow, и эта работа может быть очень продолжительной (например, 10+ часов), мне интересно, какой механизм в Airflow используется для предотвращения этой ошибки.
Можеткто-нибудь поможет?
UPDATE1 20190303-1:
Благодаря @ y2k-shubham для SSHOperator, я могу использовать его для успешной установки соединения SSH и могу выполнять несколько простых команд наудаленный сайт (действительно, по умолчанию ssh-соединение должно быть установлено на localhost, потому что задание находится на localhost), и я могу видеть правильный результат hostname
, pwd
.
Однако, когда я попыталсячтобы запустить реальное задание, я получил ту же ошибку, опять-таки, ошибка из jpipeline ob вместо dag / задачи Airflow.
UPDATE2: 20190303-2
У меня был успешный запуск(проверка воздушного потока) без ошибок, а затем последовал другой неудачный прогон (планировщик) с той же ошибкой из конвейера.