する必要がある
1. run a select query on MYSQL DB and fetch the records.
2. Records are processed by python script.
どうすればよいかわかりません。 xcomはここに行く方法ですか?また、MYSQLOperatorはクエリを実行するだけで、レコードをフェッチしません。使用できる組み込みの転送オペレーターはありますか?ここでMYSQLフックをどのように使用できますか?
フックを使用してデータを取得し、変換を適用して、(スコアリングされた)行を他の場所に戻すPythonOperatorを使用することができます。
誰かが同じことを進める方法を説明できますか?.
参照- 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
)
これは続行する正しい方法ですか?また、次のMySqlOperatorのレコードを保存するためにxcomsをどのように使用しますか? '
t = MySqlOperator(
conn_id='mysql_default',
task_id='basic_mysql',
sql="SELECT count(*) from table1 where id > 10",
dag=dag)
もちろん、フックまたは演算子を作成して、get_records()メソッドを呼び出します。 https://airflow.readthedocs.io/en/stable/_modules/airflow/hooks/dbapi_hook.html