Airflow v2 предупреждает об отсутствии модуля с именем «airflow.providers.mysql», несмотря на то, что этот модуль не используется

#airflow #warnings

Вопрос:

Мы недавно обновили Airflow с версии 1 до версии 2 и в настоящее время отлаживаем новые проблемы, которые возникают при таком обновлении. В настоящее время мы получаем следующее предупреждение:

 webserver_1  | [2021-08-21 18:13:45,565] {providers_manager.py:299} WARNING - Exception 
when importing 'airflow.providers.google.cloud.hooks.cloud_sql.CloudSQLHook' from 
'apache-airflow-providers-google' package: No module named 'airflow.providers.mysql'
 

Я провел текстовый поиск по всему нашему проекту, и там было ноль ссылок CloudSQLHook , ноль ссылок apache-airflow-providers-google и ноль ссылок mysql … Из-за этого мы не знаем, с чего начать с устранения этого предупреждающего сообщения. Как мы можем это решить?

Комментарии:

1. кстати. Вы можете ознакомиться с зависимостями между поставщиками услуг Google provider здесь airflow.apache.org/docs/apache-airflow-providers-google/stable/…

Ответ №1:

Поставщик Google имеет необязательную зависимость от mysql (из-за облачного SQL, использующего mysql в качестве серверной части). Самый простой способ избавиться от предупреждения-установить apache-airflow-providers-mysql пакет или использовать [mysql] дополнительно при установке airflow. Я также считаю, что более новые версии airflow (вполне уверены, что 2.1 ) не будут регистрировать это как предупреждение.

Комментарии:

1. приятно это знать. У нас возникли некоторые проблемы с 2.1 , которые должны быть решены в 2.1.3, поэтому мы все еще работаем над 2.0.1, добавим [mysql] дополнительно, если предупреждения все еще будут появляться в 2.1.3

2. Ага. Это было исправлено в 2.0.2 🙂 github.com/apache/airflow/issues/14286