我们可以在 Airflow 部署中将自定义 sql 脚本添加到 运行 吗?
Can we include custom sql scripts to run in Airflow deployment?
我正在尝试 运行 气流作业以使用 MWAA(来自 AWS 的托管气流)在 Snowflake 实例上执行一些 SQL 操作。在 MWAA 中设置 Airflow 时,它要求提供 DAG、插件和要求。有什么方法可以包含自定义 sql 脚本吗?
下面是我试过的例子:
with DAG(
'Snowflake_Prototype',
default_args=default_args,
schedule_interval='@daily',
start_date=days_ago(1),
template_searchpath="include"
) as dag:
start = DummyOperator(task_id='start')
t2 = SnowflakeOperator(
task_id='create_staging_tables',
snowflake_conn_id=SNOWFLAKE_CONN_ID,
sql='create_staging.sql'
)
我打算 运行 sql 在 creating_staging.sql 中执行命令。为此,我已将 sql 脚本“create_staging.sql”上传到 s3 中名为 include 的文件夹,然后在 DAG 声明中通过 template_searchpath 引用它的气流。看起来它的 not airflow 没有导入 s3 的所有内容。它似乎没有找到该文件。 运行通过 MWAA 设置气流时,是否有任何其他方法可以包含相关脚本。
如果您这样引用 create_staging.sql
- 相对引用,我认为它应该放在 dag 本身旁边,而不是在专用的“include”文件夹中。所以只需将它放在你放置 dags 的同一目录中即可。
或者,您可能会尝试在 MWAA worker 中找到“include”文件夹最终安装位置的完整路径,并使用完整的“绝对”路径。
我正在尝试 运行 气流作业以使用 MWAA(来自 AWS 的托管气流)在 Snowflake 实例上执行一些 SQL 操作。在 MWAA 中设置 Airflow 时,它要求提供 DAG、插件和要求。有什么方法可以包含自定义 sql 脚本吗?
下面是我试过的例子:
with DAG(
'Snowflake_Prototype',
default_args=default_args,
schedule_interval='@daily',
start_date=days_ago(1),
template_searchpath="include"
) as dag:
start = DummyOperator(task_id='start')
t2 = SnowflakeOperator(
task_id='create_staging_tables',
snowflake_conn_id=SNOWFLAKE_CONN_ID,
sql='create_staging.sql'
)
我打算 运行 sql 在 creating_staging.sql 中执行命令。为此,我已将 sql 脚本“create_staging.sql”上传到 s3 中名为 include 的文件夹,然后在 DAG 声明中通过 template_searchpath 引用它的气流。看起来它的 not airflow 没有导入 s3 的所有内容。它似乎没有找到该文件。 运行通过 MWAA 设置气流时,是否有任何其他方法可以包含相关脚本。
如果您这样引用 create_staging.sql
- 相对引用,我认为它应该放在 dag 本身旁边,而不是在专用的“include”文件夹中。所以只需将它放在你放置 dags 的同一目录中即可。
或者,您可能会尝试在 MWAA worker 中找到“include”文件夹最终安装位置的完整路径,并使用完整的“绝对”路径。