我的数据位于 Redshift 集群的表中。我想定期对 Redshift 表运行查询并将结果存储在 S3 存储桶中。
我将对 S3 存储桶中的数据运行一些数据转换,以输入另一个系统。根据 AWS 文档,我可以使用
UNLOAD
命令,但是 有没有办法定期安排此操作?我搜索了很多,但没有找到任何相关信息。
您可以使用像Airflow这样的调度工具来完成此任务。 Airflow 无缝连接到 Redshift 和 S3。您可以执行 DAG 操作,该操作定期轮询 Redshift 并将数据从 Redshift 卸载到 S3。
我不相信 Redshift 有能力定期安排查询。您需要为此使用其他服务。您可以使用 Lambda 函数,也可以在 EC2 实例上安排 cron 作业。
我相信您正在寻找AWS数据管道服务。
您可以使用 RedshiftCopyActivity 将数据从 redshift 复制到 s3 (http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-redshiftactivity.html)。
我从上述网址复制相关内容以供将来使用:
“您还可以使用 RedshiftCopyActivity 从 Amazon Redshift 复制到 Amazon S3。有关更多信息,请参阅 S3DataNode。 您可以使用 SqlActivity 对已加载到 Amazon Redshift 中的数据执行 SQL 查询。"
让我知道这是否有帮助。
您应该尝试 AWS Data Pipelines。您可以安排它们定期运行或按需运行。我相信它会解决您的用例