airflow mysql_hook Ningún módulo llamado 'MySQLdb'

Dec 14 2020

tengo

Ningún módulo llamado 'MySQLdb'

al importar ariflow

desde airflow.hooks.mysql_hook importar MySqlHook

Estoy usando Mac, Python 3.7.6

Instalado

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

Además de este problema específico, tenemos un flujo de aire instalado en el servidor y estaba intentando probar algunos componentes del flujo de aire (ganchos, etc.) sin un entorno de flujo de aire completo, ¿es eso factible?

¡Gracias!

Respuestas

4 Elad Dec 14 2020 at 12:39

No está utilizando el archivo MySqlHook.

Para Airflow <2.0necesitará instalar proveedores de backport :

pip install apache-airflow-backport-providers-mysql

Para Airflow >=2.0necesitará instalar proveedores :

pip install apache-airflow-providers-mysql

entonces puedes importar el gancho a través de:

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

En cuanto a su segunda pregunta, no estoy seguro de qué quiere decir con un entorno de flujo de aire completo. Los proveedores, por ejemplo, se eliminaron del núcleo de Airflow a paquetes separados.