定期将查询结果从 Redshift 移动到 S3 存储桶

问题描述 投票:0回答:5

我的数据位于 Redshift 集群的表中。我想定期对 Redshift 表运行查询并将结果存储在 S3 存储桶中。

我将对 S3 存储桶中的数据运行一些数据转换,以输入另一个系统。根据 AWS 文档,我可以使用

UNLOAD
命令,但是 有没有办法定期安排此操作?我搜索了很多,但没有找到任何相关信息。

amazon-web-services amazon-s3 amazon-redshift
5个回答
3
投票

您可以使用像Airflow这样的调度工具来完成此任务。 Airflow 无缝连接到 Redshift 和 S3。您可以执行 DAG 操作,该操作定期轮询 Redshift 并将数据从 Redshift 卸载到 S3。


0
投票

我不相信 Redshift 有能力定期安排查询。您需要为此使用其他服务。您可以使用 Lambda 函数,也可以在 EC2 实例上安排 cron 作业。


0
投票

我相信您正在寻找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 查询。"

让我知道这是否有帮助。


0
投票

您应该尝试 AWS Data Pipelines。您可以安排它们定期运行或按需运行。我相信它会解决您的用例


0
投票

您可以使用AWS胶水。 它具有安排作业的功能。

不仅如此,它还支持自定义查询和所有 ETL 转换。 最好的部分是您的整个堆栈都位于 AWS,您甚至可以节省网络成本。

© www.soinside.com 2019 - 2024. All rights reserved.