sql >> Databasteknik >  >> RDS >> Mysql

Hur skaffar och bearbetar man mysql-poster med Airflow?

Jag har verkligen kämpat med detta de senaste 90 minuterna, här är ett mer deklarativt sätt att följa för nykomlingar:

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
)

Detta returnerar innehållet i din DB-fråga till loggarna.

Jag hoppas att det här är till nytta för någon annan.



  1. T-SQL Stuff Kommando

  2. mysql count total från ett fält med kommaseparerade värden

  3. Databasdesign för att skapa tabeller i farten

  4. konvertera Unix epok tidsstämplar till JavaScript datum tidsstämplar