我希望将一些MySQL数据库移至Amazon Redshift中的云中。当前,我正在创建一个Python脚本,将表转换为CSV,对其进行加密,将其放入S3,然后将数据复制到Redshift。但是,它的设置方式我必须一次将数据复制一张表。我读过您可以将数据拆分为多个文件并并行上传,但是我相信这仍然仅是将数据加载到一个表中。有没有办法一次在多个表上使用COPY?必须分别从每个表复制数据似乎效率很低。
答案 0 :(得分:2)
您的所有陈述都是正确的。
COPY
命令可以从多个文件并行加载(实际上,建议这样做,因为它随后可以将加载作业分散到多个节点上),但是只能按COPY
命令在表上加载
您可以通过多个会话连接到Redshift,并在每个会话中运行COPY命令以同时加载多个表(但要注意对生产用户的影响)。
如果您希望将数据从本地数据库迁移到Amazon Redshift,请考虑使用:
无论何时在源数据库中更新数据,数据库迁移服务甚至可以执行Redshift的持续更新。