amazon-web-services - 如何从自定义 REST API 将数据加载到 Redshift

标签 amazon-web-services amazon-s3 amazon-redshift amazon-kinesis-firehose

我是 AWS 新手,如果之前有人问过这个问题,请原谅我。

我有一个 REST API,它返回 2 个参数(姓名、电子邮件)。我想将此数据加载到 Redshift 中。

我想制作一个 Lambda 函数,每 2 分钟启动一次并调用 REST API。 API 可能会在这 2 分钟内返回最多 3-4 条记录。

那么,在这种情况下,是否可以只执行插入操作,或者我仍然必须使用 COPY(使用 S3)?我只担心性能和无错误(稳健)的数据插入。

此外,Lambda 函数将每 2 分钟异步启动一次,因此插入操作可能会重叠(但数据不会重叠)。

在这种情况下,如果我选择 S3 选项,我担心先前 Lambda 调用生成的 S3 文件将被覆盖并发生冲突。

长话短说,向 redshift 插入更少记录的最佳实践是什么?

PS:我也可以使用其他 AWS 组件。我什至研究了 Firehose,它非常适合我,但它无法将数据加载到私有(private)子网 Redshift 中。

提前感谢大家

最佳答案

是的,插入少量数据就可以了。

对于大量数据,建议始终通过 COPY 命令加载,因为 COPY 加载是跨多个节点并行进行的。但是,对于几行,您可以使用 INSERT 而不必感到内疚。

如果您的 SORTKEY 是时间戳,并且您按时间顺序加载数据,则也不需要执行 VACUUM,因为数据已经排序。但是,如果行被删除,最好定期对表进行 VACUUM

关于amazon-web-services - 如何从自定义 REST API 将数据加载到 Redshift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45397823/

相关文章:

amazon-redshift - AWS胶: Redshift Upsert

amazon-web-services - 由于 VACUUM 查询,Amazon Redshift 的磁盘使用率为 100%

sql - 在 redshift 上查询数据时出错 - 获取 strip 数据时出错

wordpress 网站显示跳转到内容

python - AWS BOTO3 连接到 MS SQL 数据库时出错

python - 上传到 S3 时添加元数据 (x-amz-meta-SOMEINFO)

amazon-web-services - AWS CLI S3 仅在选定文件上同步?

linux - AWS Ec2 - SCP 文件传输权限被拒绝

ios - 无法从解析服务器流式传输视频(PFFile)

java - AWS 使用 java api 获取 S3 存储桶大小