Мне нужно
1. run a select query on MYSQL DB and fetch the records.
2. Records are processed by python script.
Я не уверен, как я должен действовать. Это xcom путь сюда? Кроме того, MYSQLOperator выполняет только запрос, не извлекает записи. Есть ли встроенный оператор передачи, который я могу использовать? Как я могу использовать здесь MYSQL?
вы можете использовать PythonOperator, который использует hook для получения данных, примените преобразование и отправьте (теперь набранные) строки обратно в другое место.
Может кто-нибудь объяснить, как действовать относительно того же.
Refer - http://markmail.org/message/x6nfeo6zhjfeakfe
def do_work():
mysqlserver = MySqlHook(connection_id)
sql = "SELECT * from table where col > 100 "
row_count = mysqlserver.get_records(sql, schema='testdb')
print row_count[0][0]
callMYSQLHook = PythonOperator(
task_id='fetch_from_testdb',
python_callable=mysqlHook,
dag=dag
)
Правильно ли это? Также как мы используем xcoms для хранения записей для следующего MySqlOperator?
t = MySqlOperator(
conn_id='mysql_default',
task_id='basic_mysql',
sql="SELECT count(*) from table1 where id > 10",
dag=dag)