我在 redshift 中有一张大表,我需要自动化归档每月数据的过程。
目前的做法如下(手动):
我需要自动化这种方法,
使用 aws 数据管道是一个好方法吗?
请提出任何其他有效的方法,示例表示赞赏。
感谢您的帮助!
我建议的方法是在一个小实例中设置气流来运行调度。或者如果工作量太大,设置一个 crontab。
我建议使用 gzip 格式并将每个文件的大小限制在 20-100mb 左右
这样数据就位于 Redshift 之外,但可以在需要时从 Redshift 访问。
我不知道亚马逊是否认为这种情况“常见”足以建议实践,但这里有几个选项(注意:流行的共识似乎是数据管道有利于简单的数据加载,但这并不是有意的作为存档方法。)
每月创建一个快照,然后从该表中删除数据。您可以使用可以自动化的快照 API 操作或控制台调度,并且您的快照将带有日期戳。
将数据复制到 S3 中的外部表,然后从 Redshift 表中删除。我认为你可以使用 Spectrum 来实现这一点。
使用第三方备份解决方案,例如N2WS、Panopoly。
使用AWS Glue(或者可能是数据管道,我没有使用过)来提取表结构/数据,然后截断原始表。
使用外部 ETL 产品执行与 Glue 相同的操作。有些是免费的,或者您的公司可能已经使用了。
我没有遇到任何有关此类数据复制的最佳实践。
只需按照本文进行操作自动对 Amazon Redshift 时间序列表进行数据归档