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

Posted

技术标签:

【中文标题】如何从 Mysql 数据库中获取数据到 Snowflake【英文标题】:How to get Data from a Mysql Database to Snowflake 【发布时间】:2020-10-19 11:55:32 【问题描述】:

有什么聪明的方法可以将我的数据从 mysql 数据库中获取到雪花中吗? 到目前为止,我发现了两种可能的方法:

选项 1:在 mysql 数据库上放置一个 Snowpipe,管道会自动转换数据。 选项 2:我手动将表转换为 csv 并将它们存储在本地,然后通过 staging 将它们加载到雪花中。

对我来说,首先将每个表转换为 csv 似乎很奇怪。我可以不只是将 sql 转储文件推送到雪花吗?我是否也可以在雪花中安排一些重新加载任务,以便自动触发选项 1 或 2?

最好的 尼克贝C24

【问题讨论】:

【参考方案1】:

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

上面网页的主要步骤是:

    从 MySQL 导出数据 注意数据类型 将文件暂存到 Snowflake(内部/外部阶段) 将暂存文件复制到表中

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

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

【讨论】:

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

以上是关于如何从 Mysql 数据库中获取数据到 Snowflake的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Amazon mysql 数据库中获取数据到 localhost(xampp)?

如何从 MySql 数据库中获取日期到 C# DateTime 对象?

如何从 csv 文件中获取数据并使用 mysql 保存到 grails 中?

如何从 html 表单中获取“日期和时间”输入并使用 Spring Boot 保存到 MySQL 数据库中?

如何使用 PHP 从 MySql 数据库中获取数据

如何从mysql中获取数据并存储在android的Sqlite数据库中