gpt4 book ai didi

mysql - 将数据从 MySQL 复制到 Amazon DynamoDB

转载 作者:可可西里 更新时间:2023-11-01 07:02:34 26 4
gpt4 key购买 nike

我在 MySQL 中有一个包含 5 亿条记录的表。我想将此表导入 Amazon DynamoDB。我知道有两种方法可以做到这一点:

  1. JAVA Api:这种方法的问题是它很慢,而且有时会断开与数据库的连接。

  2. Amazon Data Import Pipeline:看起来很有前途,但如何将数据从 MySQL 导出为 DynamoDB 识别的格式?

请让我选择两者之间最好的方法。

最佳答案

AWS 有两种服务可以帮助您执行该操作。

  • 数据管道
  • 带有 Hive 的 EMR 集群

数据管道

一个非常简单的方法 - 如果您的“模式”相似(我总是觉得谈论 DynamoDB 的模式很尴尬)- 从 MySQL 导出到 S3,然后从 S3 导入到 DynamoDB。

Data Pipeline 有两个教程可以帮助您设置任务

http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-copydata-mysql.html http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-importexport-ddb-part1.html

您可以通过开发执行导入和导出的单个管道来进一步改进此过程。如果您需要在导入和导出之间转换数据,您将需要开发转换代码并从管道中执行它。

在数据管道术语中,这称为事件。事件可能像 shell 脚本一样简单,也可能像在 EMR 关闭器上运行的 Hive/Hadoop/Pig 应用程序一样复杂。 http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-concepts-activities.html

Data Pipeline 还可以让您安排定期执行。

Hive 和 EMR

Hive 是一种 hadoop 工具,用于编写 SQL 命令来操作数据源。 Hive 在集群上运行的 Hadoop 应用程序中翻译 SQL。您可以在 AWS Elastic Map Reduce 集群(托管服务 hadoop 集群)上运行 Hive。

EMR 上的 Hive 可以连接到非关系数据源,例如 S3 或 DynamoDB 数据库上的文件。它允许您在 DynamoDB 之上编写 SQL 语句!

在您的用例中,您需要编写一个从 MySQL 读取并写入 DynamoDB 的 Hive 脚本。您可以使用标准 (Hive) SQL 表达式转换数据。

有关 EMR 上的 Hive 的更多信息: http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-hive.html

更多关于 DynamoDB 和 Hive 的信息: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/EMRforDynamoDB.Walkthrough.html http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/EMRforDynamoDB.html

关于mysql - 将数据从 MySQL 复制到 Amazon DynamoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28104424/

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