Как указать версию Python при запуске impala-shell внутри воздушного потока - PullRequest
0 голосов
/ 02 марта 2019

Интересно, поддерживается ли это или нет, но есть много вариантов использования, которым необходимо запустить 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)

ошибка:

SyntaxError: Отсутствуют скобки при вызове 'print'

Итак, вопросы здесь:

  1. почему указанная версия python 2 в impala-shell.py НЕ используется в качестве языка переводчика?
  2. как настроить dag или задачу в airflow для запуска другой версии python?

Спасибо.Любая доля / просветить / подсказка с благодарностью.

1 Ответ

0 голосов
/ 02 марта 2019

BashOperator в Airflow ничего не знает о версиях Python или impala - он просто запускает команды в оболочке.

Вероятной причиной отличий от выполнения этих команд самостоятельно могут быть переменные среды, особенно PATH.

...