我试图找到一种解决方案,通过气流将文件从S3存储桶移动到Snowflake内部阶段(不是直接表格),但当前Snowflake操作符似乎不支持PUT命令。
我知道还有其他选择,比如雪管,但我想展示气流的能力。COPY INTO也是一种替代解决方案,但我想从文件中加载DDL语句,而不是在雪花中手动运行它们。
这是我能找到的最接近的,但它使用“复制到表中”:
https://artemiorimando.com/2019/05/01/data-engineering-using-python-airflow/
另外:如何从python调用snowsql客户机
有没有办法通过Python Snowsql将文件从S3存储桶移动到Snowflake内部阶段?
谢谢!
我建议您在Airflow中执行COPY INTO
命令,直接从S3加载文件。没有一个很好的方法可以在不将文件跳转到另一台机器(如气流机器)的情况下将文件从S3转移到内部阶段。您将使用SnowSQL将GET
从S3转换为本地,并将PUT
从本地转换为S3。执行PUT
到内部阶段的唯一方法是通过SnowSQL。