airflow mysql_hook Aucun module nommé 'MySQLdb'

Dec 14 2020

j'ai eu

Aucun module nommé 'MySQLdb'

lors de l'importation ariflow

depuis airflow.hooks.mysql_hook import MySqlHook

J'utilise Mac, python 3.7.6

installée

  1. pip installer 'apache-airflow [mysql]'
  2. pip installer apache-airflow
  3. PyMySQL == 0.10.1
  4. guimauve-sqlalchemy == 0.23.1
  5. mysql-connector-python == 8.0.22
  6. mysqlclient == 1.3.14

En plus de ce problème spécifique, nous avons un flux d'air installé sur le serveur et j'essayais de tester certains composants de flux d'air (crochets, etc.) sans environnement de flux d'air complet, est-ce possible?

Merci!

Réponses

4 Elad Dec 14 2020 at 12:39

Vous n'utilisez pas la mise à jour MySqlHook.

Pour Airflow <2.0vous aurez besoin d'installer des fournisseurs de backport :

pip install apache-airflow-backport-providers-mysql

Pour Airflow >=2.0vous aurez besoin d'installer des fournisseurs :

pip install apache-airflow-providers-mysql

alors vous pouvez importer le hook via:

from airflow.providers.mysql.hooks.mysql import MySqlHook

Quant à votre deuxième question, je ne suis pas sûr de ce que vous entendez par environnement à flux d'air complet. Les fournisseurs, par exemple, ont été supprimés du noyau Airflow pour des packages séparés.