gpt4 book ai didi

python - 如何将文件从本地文件服务器 (SFTP) 直接移至 Snowflake?

转载 作者:行者123 更新时间:2023-12-01 00:58:58 25 4
gpt4 key购买 nike

我希望使用 Python Snowflake 连接器直接将文件从几个文件服务器(通过 SFTP 访问)移动到 Snowflake 中。

我考虑过使用数据工厂 (ADF) 将文件提取到 Blob 存储中,然后创建一个 Azure 阶段以将数据移动到 Snowflake 中。但是,我很好奇是否有一种方法可以在不将数据存储在 blob 存储中的情况下执行此操作?换句话说,我可以将文件直接移动到 Snowflake 中,而不先将它们存储在其他地方吗?我看不到在 ADF 中执行此操作而不存储在 Blob 存储中的方法,并且 Snowflake 文档表明可以通过 Azure/AWS 或本地文件系统创建阶段,但是可以为需要访问的文件服务器完成此操作吗通过SFTP?我一直在使用 Python 连接器解决此问题,但似乎仍然必须先将数据存储在其他地方(本地硬盘驱动器或 blob 存储),然后才能将其暂存到 Snowflake 中。

最佳答案

假设您想使用 Snowflake 的批量加载机制(因此COPY整个文件,而不是INSERT单行),文件始终需要最终位于 blob 存储中在某个时刻。

  • 您可以自行将文件从 SFTP 移动到 Blob 存储,然后在 Snowflake 中使用COPY
  • 您可以将文件下载到本地文件系统,然后使用 Snowflake 的 PUT 命令将文件复制到暂存位置,然后再次使用 COPY

无法创建指向 SFTP 的阶段。

更多信息 here .

注意:理论上您可以从 SFTP 获取数据,例如在 Python 中,然后使用 INSERT 通过 SQL 插入行。那么你就不用使用舞台了,但它更复杂,当然不值得付出努力。

关于python - 如何将文件从本地文件服务器 (SFTP) 直接移至 Snowflake?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55974980/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com