我需要在具有相同架构的多个数据库(10K)上执行SQL查询,并使用气流将结果插入到单独的主机中。
您是否知道如何以最有效的方式为此类项目设计DAG?
非常感谢任何帮助!
答案 0 :(得分:2)
Airflow中每个数据库一个连接 然后定义这些连接id字符串的列表 然后在每个连接字符串上重复相同任务的任务定义。
E.G。使用MysqlOperator(另请参阅MssqlOperator或PostgresOperator)
conns = ('db1','db2','db3')
tasks = [MysqlOperator("""
show tables;
""",
task_id="update_" + conn,
mysql_conn_id=conn,
) for conn in conns]