如何从 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 中?