Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak pozyskiwać i przetwarzać rekordy mysql za pomocą Airflow?

Naprawdę zmagałem się z tym przez ostatnie 90 minut, oto bardziej deklaratywny sposób naśladowania dla nowicjuszy:

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
)

Spowoduje to zwrócenie do dziennika zawartości zapytania do bazy danych.

Mam nadzieję, że przyda się to komuś innemu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - wybierz grupy posiadające wartości obejmujące zbiór

  2. Wyjście Pythona zlib, jak odzyskać z tabeli mysql utf-8?

  3. Kiedy powinienem używać MySQLi zamiast MySQL?

  4. MySQL INSERT SELECT — Zduplikowane wiersze

  5. Ucieczka z linii poleceń MYSQL za pomocą skryptów Bash