Amazon web services 如何从自定义REST API将数据加载到红移中
我是AWS的新手,如果之前有人问我这个问题,请原谅 我有一个RESTAPI,它返回2个参数(名称、电子邮件)。我想将此数据加载到红移 我想制作一个Lambda函数,它每2分钟启动一次并调用restapi。API可能在这2分钟内最多返回3-4条记录 所以,在这种情况下,可以只做一个insert操作,还是仍然使用COPY(使用S3)?我只担心性能和无错误(健壮)的数据插入 此外,Lambda函数将每2分钟异步启动一次,因此插入操作可能会有重叠(但数据中不会有重叠) 在这种情况下,如果使用S3选项,我担心以前的Lambda调用生成的S3文件会被覆盖,并发生冲突 长话短说,在红移中插入较少记录的最佳做法是什么 PS:我也可以使用其他AWS组件。我甚至查看了消防水带,它非常适合我,但它不能将数据加载到私有子网红移中Amazon web services 如何从自定义REST API将数据加载到红移中,amazon-web-services,amazon-s3,amazon-redshift,amazon-kinesis-firehose,Amazon Web Services,Amazon S3,Amazon Redshift,Amazon Kinesis Firehose,我是AWS的新手,如果之前有人问我这个问题,请原谅 我有一个RESTAPI,它返回2个参数(名称、电子邮件)。我想将此数据加载到红移 我想制作一个Lambda函数,它每2分钟启动一次并调用restapi。API可能在这2分钟内最多返回3-4条记录 所以,在这种情况下,可以只做一个insert操作,还是仍然使用COPY(使用S3)?我只担心性能和无错误(健壮)的数据插入 此外,Lambda函数将每2分钟异步启动一次,因此插入操作可能会有重叠(但数据中不会有重叠) 在这种情况下,如果使用S3选项,我
提前感谢大家因为您没有太多数据;您可以使用“复制”或“插入”。复制命令对于大容量插入更为优化。。这就像给你批量插入的能力
这两种方法都同样有效是的,插入少量数据就可以了 建议始终通过
COPY
命令加载大量数据,因为COPY
加载是跨多个节点并行的。但是,只需几行,您就可以使用INSERT
,而不会感到内疚
如果您的
SORTKEY
是一个时间戳,并且您正在按时间顺序加载数据,那么也不需要执行VACUUM
,因为数据已经排序。但是,如果删除了行,最好还是定期清理表。AWS现在支持数据API功能
如官方文档中所述,您可以使用HTTP请求轻松访问红移数据,而不再需要JDBC连接。
数据API不需要到集群的持久连接。相反,它提供了一个安全的HTTP端点并与AWS SDK集成。您可以使用端点运行SQL语句,而无需管理连接。对数据API的调用是异步的
以下是使用红移数据API所需的步骤
看起来你没有太多的数据。。那为什么你需要红移呢?这是一个昂贵而理想的解决方案,当你有大量的数据时,还有其他的表是巨大的,我们使用AWS DMS来解决这些问题