sql >> Databáze >  >> RDS >> Mysql

Jak získat a zpracovat záznamy mysql pomocí Airflow?

Posledních 90 minut jsem s tím opravdu bojoval, zde je deklarativnější způsob, jak postupovat pro nováčky:

from airflow.hooks.mysql_hook import MySqlHook

def fetch_records():
  request = "SELECT * FROM your_table"
  mysql_hook = MySqlHook(mysql_conn_id = 'the_connection_name_sourced_from_the_ui', schema = 'specific_db')
  connection = mysql_hook.get_conn()
  cursor = connection.cursor()
  cursor.execute(request)
  sources = cursor.fetchall()
  print(sources)

...your DAG() as dag: code

task = PythonOperator(
  task_id = 'fetch_records',
  python_callable = fetch_records
)

Tím se vrátí obsah vašeho dotazu DB do protokolů.

Doufám, že to bude užitečné pro někoho jiného.



  1. Spravujte sdružování připojení ve webové aplikaci pro více nájemců pomocí Spring, Hibernate a C3P0

  2. Java:Vložte více řádků do MySQL pomocí PreparedStatement

  3. Náhodný výběr řádků přes JPA

  4. Volání asynchronní metody PHP v rámci Yii