提问者:小点点

使用气流PUT命令将S3文件移动到雪花阶段


我试图找到一种解决方案,通过气流将文件从S3存储桶移动到Snowflake内部阶段(不是直接表格),但当前Snowflake操作符似乎不支持PUT命令。

我知道还有其他选择,比如雪管,但我想展示气流的能力。COPY INTO也是一种替代解决方案,但我想从文件中加载DDL语句,而不是在雪花中手动运行它们。

这是我能找到的最接近的,但它使用“复制到表中”:

https://artemiorimando.com/2019/05/01/data-engineering-using-python-airflow/

另外:如何从python调用snowsql客户机

有没有办法通过Python Snowsql将文件从S3存储桶移动到Snowflake内部阶段?

谢谢!


共1个答案

匿名用户

我建议您在Airflow中执行COPY INTO命令,直接从S3加载文件。没有一个很好的方法可以在不将文件跳转到另一台机器(如气流机器)的情况下将文件从S3转移到内部阶段。您将使用SnowSQL将GET从S3转换为本地,并将PUT从本地转换为S3。执行PUT到内部阶段的唯一方法是通过SnowSQL。