#python-3.x #amazon-web-services #airflow #pyodbc #mwaa
#python-3.x #amazon-веб-сервисы #воздушный поток #pyodbc #mwaa
Вопрос:
Я попытался вставить requirements.txt для MWAA Airflow
с pyodbc=4.0.30
и в коде, сделал строку подключения типа
dbconnection = pyodbc.connect("Driver={ODBC Driver 17 for SQL Server};Server=" Server ";Database=" Database ";UID=" UserID ";PWD=" Password, autocommit=True)
Теперь ошибка заключается в следующем Broken DAG: [/usr/local/airflow/dags/test.py] No module named 'pyodbc'
Версия Airflow: 1.10.12
В документации вряд ли есть какая-либо документация по SQL Server/ Postgres
основанному соединению MWAA AWS
, особенно для pyodbc
подключения, я ранее столкнулся с этой проблемой lambda functions
и разобрался с lambda layers
ней, но не уверен, как MWAA
это работает, любые предложения приветствуются.
Пожалуйста, не рекомендуйте какие-либо другие технологии, такие как EC2, для размещения Airflow, поскольку компания очень жестко использует MWAA Airflow.
Комментарии:
1. Похоже, вы пытаетесь работать с pyodbc напрямую. В этом случае это точно так же, как и любой другой пакет python в вашем коде. На самом деле это не связано с Airflow или mwaa? В Airflow, если вы хотите использовать ODBC, вам следует установить ODBC provider pypi.org/project/apache-airflow-backport-providers-odbc и используйте OdbcHook — хук работает с подключением ODBC, которое вы определите в Admin -> Connections.
Ответ №1:
import pymssql
conn = pymssql.connect(
server=server,
user=username,
password=password,
database=database
)
query ="select IDpk,name,Remarks from TestTable"
df = pd.read_sql(query,conn)