AFAIK, MySqlOperator
служит для выполнения запроса UPDATE
/ DELETE
и т. Д .; другими словами запросы, которые:
- не возвращает никакого результата
- возвращает результат, но вы не беспокоитесь об этом
Чтобы получить фактический результат, вы должны использовать MySqlHook
. Вот небольшой фрагмент кода (Python 3.6+
) для начала (не проверено, но только для подсказок)
from typing import List, Optional, Any
from airflow.hooks.mysql_hook import MySqlHook
# instantiate a MySqlHook
mysql_hook: MySqlHook = MySqlHook(mysql_conn_id="airflow_db")
# get records (this method comes from airflow.hooks.db_api_hook.DbApiHook)
records: List[List[Optional[Any]]] = mysql_hook.get_records(sql="select * from xcom")
# print records
print(records)
# alternatively, you can write records to task's logger
# note that here 'operator' = reference to your Operator
# operator.log.info("\n".join(records))
Вывод print()
/ log.info()
появится в журнале задач на интерфейсе пользователя