Воздушный поток - sql_alchemy_conn (Azure SQL База данных) - PullRequest
0 голосов
/ 16 марта 2020

Я собираюсь настроить Airflow в Azure, и у нас есть SQL База данных, доступная в облаке, могу ли я настроить ее в рамках воздушного потока? Или это должно быть postgres?

Если возможно, не могли бы вы привести пример его использования переменной sql_alchemy_conn?

1 Ответ

1 голос
/ 17 марта 2020

Я нашел документ Настройка воздушного потока на Azure и подключение к MS SQL Сервер может помочь вам.

Резюме:

MS SQL:

Azure предлагает масштабируемые управляемые SQL экземпляры сервера, что является хорошим выбором для хранилища данных. Базовое изображение воздушного потока от шайб, однако, не взаимодействует с этой базой данных. В этом конкретном c случае мы рассматриваем не настройку базы данных для размещения метаданных воздушного потока (хотя это возможно), а скорее как назначение в качестве цели из некоторых пакетов.

Чтобы воспользоваться преимуществами Для подключения к Ms SQL необходимо установить драйвер Ms SQL. Документация по настройке этого драйвера для Linux приведена на веб-сайте Microsoft . Поскольку последний образ puckel / docker -airflow основан на «python: 3.6-slim», сам по себе основанный на «растяжке» Debian 9, мы можем добавить эти зависимости к образу, следуя документации Debian 9 на Microsoft веб-сайт:

RUN apt-get install --reinstall build-essential -y
RUN apt-get update
RUN apt-get install gcc unixodbc-dev gnupg2 apt-transport-https curl -y \
  && curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \
  && curl https://packages.microsoft.com/config/debian/9/prod.list > /etc/apt/sources.list.d/mssql-release.list 
RUN apt-get update
RUN ACCEPT_EULA=Y apt-get install msodbcsql17 -y
RUN ACCEPT_EULA=Y apt-get install mssql-tools -y
RUN echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc

Как только это будет сделано, через pip необходимо будет установить несколько пакетов:

RUN  pip install 'apache-airflow[mssql]' \
                 'pyodbc' \
                 'pymssql'

Пакет airflow [mssql] добавляет оператора и перехватывает взаимодействия с Ms SQL, в то время как pyodb c и pymsqsl предоставляют интерфейс базы данных для Ms SQL. После установки драйвера и пакетов python мы можем подключиться к указанному серверу Ms SQL, используя строку подключения SQL Alchemy в следующем формате:

connectionString = \
"mssql+pyodbc://{user}:{pwd}@{host}:{port}/{db}?driver=ODBC+Driver+17+for+SQL+Server"

Надеюсь, это поможет .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...