Как подключить puckel / docker -airflow к локальному windows SQL серверу? - PullRequest
1 голос
/ 04 апреля 2020

Итак, я пытаюсь подключиться к своему локальному экземпляру SQL Сервера на windows из-за потока воздуха.

Основная ошибка в том, что библиотеки pyodb c или pymms sql не устанавливается даже после явного упоминания их в файле docker. Я следовал инструкциям Microsoft ODB C Драйвер для SQL Сервер под Debian 9 и Средний , поскольку образ построен на нем.

Все задачи в dag работают нормально, за исключением той, которую я пытаюсь подключить к SQL серверу с ошибкой:

[2020-04-03 22: 23: 42,303] {{taskinstance. py: 1128}} ОШИБКА - нет модуля с именем 'pyodb c'

Если я пытаюсь установить pip из контейнера с воздушным потоком, он не устанавливается в /usr/lib/python3.7/site-packages и не может импортироваться в dag.

Я также включил в том требование .txt, но не повезло.

У кого-нибудь было успешное соединение в этом сценарии?

1 Ответ

1 голос
/ 07 мая 2020

Я смог решить эту проблему, создав образ воздушного потока из Dockerfile. во время сборки вам нужно добавить несколько зависимостей.

sqlalchemy:

&& pip3 uninstall SQLAlchemy \
&& pip3 install SQLAlchemy==1.3.15 \

pyodb c:

&& apt-get install python3-dev -y\
&& apt-get install unixodbc-dev -y\
&& pip3 install pyodbc \

Еще один длинный путь - это изменить пользователя как root и создайте образ и установите его из контейнера и измените значение USER обратно на airflow, но это более эффективно, если вы знаете, что устанавливаете.

...