代码之家  ›  专栏  ›  技术社区  ›  zaitsman

将数据从mariadb rds表导出到s3-数据管道失败

  •  0
  • zaitsman  · 技术社区  · 6 年前

    我的目标是将一个大的(~300gb)表导出到s3中的csv/tsv中进行长期存储(基本上,如果有人想在未来几年内查看它,他们可以这样做,但不要求它在网上可用)。 我只需要复制这张表,而不是整个数据库。

    在一番快速的搜索之后,数据管道似乎是解决问题的方法。不幸的是,数据管道在 No space left on device 这似乎是因为它不支持多部分上传( https://forums.aws.amazon.com/message.jspa?messageID=730566 )

    aws支持建议我们增加ebs根卷的大小,我是通过创建自定义ami来实现的,但没有效果。

    我也尝试过用sqoop设置自己的linux机器,但不幸的是,运行查询一两天后,这个机器就挂了。

    将一个表从私有rds转储到s3最简单的方法是什么?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Deepak Singhal    6 年前

    我建议您启动一个微ec2实例,它的ebs容量很大,比如400gb。然后编写一个简单的shell脚本(2行代码)导出(使用mysqldump)每个表,然后使用 aws s3 cp 命令将其复制到s3。您需要注意,如果表是实时更新的,那么使用此方法可能会导致S3上的数据存储丢失。

    先从较小的桌子开始,以确保它能工作。mysqldump适用于非常大的表。