【发布时间】:2016-07-29 09:09:52
【问题描述】:
我有一些数据存储在 S3 中。我需要定期将这些数据从 S3 克隆/复制到 Redshift 集群。要进行批量复制,我可以使用复制命令从 S3 复制到 redshift。
同样有任何简单的方法可以定期将数据从 S3 复制到 Redshift。
谢谢
【问题讨论】:
我有一些数据存储在 S3 中。我需要定期将这些数据从 S3 克隆/复制到 Redshift 集群。要进行批量复制,我可以使用复制命令从 S3 复制到 redshift。
同样有任何简单的方法可以定期将数据从 S3 复制到 Redshift。
谢谢
【问题讨论】:
尝试使用 AWS Data Pipeline,它具有用于将数据从一项 AWS 服务移动到另一项的各种模板。 “将数据从 S3 加载到 Redshift”模板将数据从 Amazon S3 文件夹复制到 Redshift 表中。您可以将数据加载到现有表中或提供 SQL 查询来创建表。 Redshift 表必须与 Amazon S3 中的数据具有相同的架构。
数据管道支持按计划运行的管道。你有一个用于调度的 cron 样式编辑器
【讨论】:
AWS Lambda Redshift Loader 是一个很好的解决方案,只要新文件出现在 Amazon S3 上的预配置位置,它就会在 Redshift 上运行 COPY 命令。
链接:
https://aws.amazon.com/blogs/big-data/a-zero-administration-amazon-redshift-database-loader/ https://github.com/awslabs/aws-lambda-redshift-loader
【讨论】:
我相信 Kinesis Firehose 是完成这项工作的最简单方法。只需创建一个 Kinesis Forehose 流,将其指向 Redshift 集群中的特定表,将数据写入流,完成 :)
此处的完整设置过程: https://docs.aws.amazon.com/ses/latest/DeveloperGuide/event-publishing-redshift-firehose-stream.html
【讨论】:
Kinesis 选项仅在 redshift 可公开访问时才有效。
【讨论】:
您可以使用带有 lambda 的复制命令。您可以配置 2 个 lambda。一个将为您即将到来的新数据创建一个清单文件,另一个将从该清单中读取以使用 Redshift 数据 api 将其加载到 redshift。
【讨论】: