airflow mysql_hook Tidak ada modul bernama 'MySQLdb'

Dec 14 2020

saya mendapatkan

Tidak ada modul bernama 'MySQLdb'

saat mengimpor ariflow

dari airflow.hooks.mysql_hook impor MySqlHook

Saya menggunakan Mac, python 3.7.6

Terpasang

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

Selain masalah khusus ini, kami memiliki server yang memasang aliran udara dan saya sedang mencoba untuk menguji beberapa komponen aliran udara (kait, dll.) Tanpa lingkungan aliran udara penuh, apakah itu mungkin?

Terima kasih!

Jawaban

4 Elad Dec 14 2020 at 12:39

Anda tidak menggunakan yang diperbarui MySqlHook.

Untuk Airflow <2.0Anda perlu menginstal penyedia backport :

pip install apache-airflow-backport-providers-mysql

Untuk Airflow >=2.0Anda perlu menginstal penyedia :

pip install apache-airflow-providers-mysql

lalu Anda dapat mengimpor pengait melalui:

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

Adapun pertanyaan kedua Anda, saya tidak yakin apa yang Anda maksud dengan lingkungan aliran udara penuh. Penyedia misalnya di mana dipindahkan dari inti Aliran Udara ke paket terpisah.