如何使用 PostgresOperator 在气流中执行多个 sql 文件?
How to execute multiple sql files in airflow using PostgresOperator?
我的 sql 文件夹中有多个 sql 文件。我不确定如何执行 DAG 中的所有 sql 文件?
- dags
- sql
- dummy1.sql
- dummy2.sql
对于单个文件,下面的代码有效
sql_insert= PostgresOperator(task_id='sql_insert',
postgres_conn_id='postgres_conn',
sql='sql/dummy1.sql')
有列表
sql_insert= PostgresOperator(task_id='sql_insert',
postgres_conn_id='postgres_conn',
sql=['sql/dummy1.sql', 'sql/dummy2.sql'])
或者你可以让它动态化
import glob
sql_insert= PostgresOperator(task_id='sql_insert',
postgres_conn_id='postgres_conn',
sql=glob.glob("sql/*.sql")]
我的 sql 文件夹中有多个 sql 文件。我不确定如何执行 DAG 中的所有 sql 文件?
- dags
- sql
- dummy1.sql
- dummy2.sql
对于单个文件,下面的代码有效
sql_insert= PostgresOperator(task_id='sql_insert',
postgres_conn_id='postgres_conn',
sql='sql/dummy1.sql')
有列表
sql_insert= PostgresOperator(task_id='sql_insert',
postgres_conn_id='postgres_conn',
sql=['sql/dummy1.sql', 'sql/dummy2.sql'])
或者你可以让它动态化
import glob
sql_insert= PostgresOperator(task_id='sql_insert',
postgres_conn_id='postgres_conn',
sql=glob.glob("sql/*.sql")]