amazons3-定期将数据从s3 bucket流式传输到redshift



我在S3中存储了一些数据。我需要定期从S3克隆/复制这些数据到Redshift集群。要进行大容量复制,我可以使用copy命令从S3复制到红移。

类似地,有任何琐碎的方法可以周期性地将数据从S3复制到Redshift。

感谢

尝试使用AWS数据管道,该管道具有用于将数据从一个AWS服务移动到另一个服务的各种模板。"将S3中的数据加载到Redshift"模板将数据从AmazonS3文件夹复制到一个Redshift表中。您可以将数据加载到现有表中,也可以提供SQL查询来创建表。Redshift表必须具有与AmazonS3中的数据相同的模式。

数据管道支持管道按计划运行。您有一个用于调度的cron样式编辑器

AWS Lambda Redshift Loader是一个很好的解决方案,每当新文件出现在AmazonS3上的预配置位置时,它都会在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可公开访问的情况下有效。

您可以将copy命令与lambda一起使用。您可以配置2个Lambda。一个将为即将到来的新数据创建一个清单文件,另一个将从该清单中读取,并使用redshift数据api在redshift上加载它。

最新更新