#python #airflow
#python #воздушный поток
Вопрос:
Интересно, поддерживается ли это или нет, но есть много вариантов использования, которые необходимо запускать impala-shell, что я попробовал и увидел (безуспешно), так это то, что impala-shell все еще работает на python 2, хотя p2 указан в impala-shell.py По какой-то неизвестной причине Airflow не переключается на p2 с p3 и, следовательно, не выполняется для кодов, написанных на p2 в impala-shell.py , один пример ниже:
task1 = BashOperator(
task_id='test_impala-shell',
bash_command="impala-shell -i hadoop01 -B -q 'select * from sr.sr2010' -o sr2010.csv '--output_delimiter=|'",
dag=dag)
ошибка:
Ошибка синтаксиса: отсутствуют круглые скобки при вызове ‘print’
Итак, вопросы здесь:
- почему указанная версия python 2 в impala-shell.py не используется в качестве языка интерпретатора?
- как настроить dag или задачу в airflow для запуска другой версии python?
Спасибо. Мы высоко ценим любой общий доступ / просвещение / подсказку.
Ответ №1:
BashOperator в Airflow ничего не знает о версиях python или impala — он просто выполняет команды в оболочке.
Вероятной причиной отличий от самостоятельного запуска этих команд могут быть переменные среды, особенно PATH.