我的任务是将mysql数据库迁移到amazonredshift。目前我正试图通过
1) 将表格转换为csv文件
2) 存储在s3中
3) 在红移中创建表
4) 使用copy命令将数据从s3传输到redshift
我正在使用python来尝试自动化这个过程,并使用boto3来加密通往s3的数据。
但是,按照我现在的流程,我必须为s3中的每个csv手动创建一个红移表。由于我最终要移动大量数据,这将是非常低效的。
是否有一个代码可以运行来检测模式并创建表,而无需每次加载新数据时都进入并更改CREATETABLE语句?
1条答案
按热度按时间63lcw9qa1#
显然,下面的答案只是提供了工作步骤,如果遵循正确的将做你的工作尝试自动化。我在我的案例中也做了类似的工作,尽管用例并不像您在这里试图做的那样精确。
expore所有表名。
循环表名。
对每个表重复4到8次。
从mysql导出表架构
在红移中创建表
从mysql导出tsv中的数据
将tsv文件放入s3
将数据复制到红移
这就是全部。
ps:上面的for循环是for
Windows
,但你可以改变它Linux/Unix