微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将 MySQL 行从一个表迁移并转换到另一个表

如何解决将 MySQL 行从一个表迁移并转换到另一个表

我需要将 30 亿条记录从一个 MysqL aurora 表迁移到同一集群中的 5 个不同表。

还有2列的转换也必须发生。

所以当我们迁移时,我们需要将 xml 转换为 json,然后 json 将存储在目标表之一中。

我们正在寻找将这些数据从一个 MysqL 表迁移到另一个表的最佳方法,而且我们在 AWS 上,因此我们可以灵活地使用任何可以帮助我们实现这一目标的服务。

到目前为止,这是我们计划的

MysqL TABLE ----DMS------>S3 ------LAMBDA to convert XML to JSON and create 5 types of files ---->Lambda on file create and Load data local to 5 Different MysqL table .

但是有一件事我们想知道如果 Load data local 在这两者之间失败我们如何处理?所以 Lambda 会将对从 s3 本地加载数据的查询提交到 MysqL 但是我们如何在 Lambda 中跟踪加载数据本地成功还是失败?

我们不能使用任何直接的方式,因为我们需要在两者之间转换数据。

这里有什么更好的方法可以使用吗?

我们可以使用数据管道代替 Lambda 函数来加载本地数据吗?

或者我们可以使用 DMS 将文件从 S3 上传MysqL 吗?

请建议能够处理故障情况的最佳方法是什么

解决方法

您所做的基本上是一个 ETL 过程。我建议您查看 AWS EMR 或 AWS Glue。由于您似乎没有那么多经验,我会使用 Glue。

使用 Glue,您基本上可以从 MySQL 读取数据,进行转换并直接写回 MySQL。此外,由于 Glue 在后台运行 Spark,您可以利用它的分布式计算,这将加快您的进程,而不是使用单线程 lambda 函数。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。