如何从Mysql数据库获取数据到Snowflake

5

有没有巧妙的方法将我的MySQL数据库数据导入到Snowflake中? 到目前为止,我找到了两种可能的方法:

选项1:在MySQL数据库上放置Snowpipe管道,该管道会自动转换数据。 选项2:我手动将表格转换为CSV格式并将其存储在本地,然后通过分段加载到Snowflake中。

对我来说,每个表格都要先转换为CSV格式似乎很奇怪。我不能直接将SQL转储文件推送到Snowflake吗?我也可以在Snowflake中安排一些重新加载任务,以便自动触发选项1或2吗?

最好 NicBeC24

1个回答

4

我在这里找到了一些关于MySQL到Snowflake迁移的非常好的信息:https://hevodata.com/blog/mysql-to-snowflake-data-migration-steps/

上述网页中的主要步骤如下:

  1. 从MySQL导出数据
  2. 注意数据类型
  3. 将文件分阶段放入Snowflake(内部/外部阶段)
  4. 将分阶段文件复制到表中

如果SQL转储只是一个ANSI格式的“.sql”文件,那么您当然可以将其复制粘贴到Snowflake工作表中并在那里执行。

关于调度:是的,在Snowflake中有一个称为Tasks的功能:https://docs.snowflake.com/en/user-guide/tasks-intro.html 您可以使用它们来调度COPY INTO命令。


嗨,谢谢提供链接。这基本上是我提到的第二个选项。将整个数据库转换为csv似乎非常不方便。你刚才说,我肯定可以将一个ansi格式的.sql文件加载到snowflake中。我没有找到任何相关信息,只有在工作表中使用复制?Copy语句需要一个格式类型,我没有看到任何SQL。你是怎么做到的? - NicBeC24
COPY INTO 命令与将代码复制并粘贴到工作表中不同。关于您的 SQL 文件:是的,您可以将 SQL 命令复制并粘贴到工作表中。另一个选择是使用 SnowSQL,命令行界面:https://docs.snowflake.com/en/user-guide/snowsql-use.html关于 COPY INTO:您可以使用此命令将数据从暂存文件加载到 Snowflake 表中(而不是执行您的 SQL 文件)。 - Marcel
假设我在本地计算机上有一个SQL转储文件,是否有一种方法可以将其加载到Snowflake中,而不需要建立数据库连接?我只是在试用期,并希望评估Snowflake是否适合我们的目的。 - NicBeC24

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接