如何从定制REST API将数据加载到Redshift中
问题描述:
我是AWS的新手,如果以前提出过这个问题,请原谅我。如何从定制REST API将数据加载到Redshift中
我有一个REST API,它返回2个参数(名称,电子邮件)。我想将这些数据加载到Redshift中。
我想制作一个每2分钟启动一次Lambda函数并调用REST API。该API可能会在此2分钟内返回最多3-4条记录。
因此,在这种情况下可以只做一个插入操作,或者我仍然需要使用COPY(使用S3)?我只关心性能和无差错(健壮)的数据插入。
此外,Lambda函数将每2分钟异步启动一次,因此插入操作可能会重叠(但数据不会重叠)。
在这种情况下,如果我使用S3选项,我担心之前Lambda调用生成的S3文件将被覆盖并发生冲突。
长话短说,在红移中插入较少记录的最佳做法是什么?
PS:我也可以使用其他AWS组件。我甚至考虑过对我来说很完美的Firehose,但它无法将数据加载到Private Subnet Redshift中。
感谢所有提前
答
是的,这将是罚款INSERT
少量数据。
总是通过COPY
命令加载的建议适用于大量数据,因为COPY
加载在多个节点之间并行化。但是,只需几行,您就可以使用INSERT
而不会感到内疚。
如果您的SORTKEY
是一个时间戳,并且您按时间顺序加载数据,那么执行VACUUM
的次数也会减少,因为数据已经排序。但是,如果行被删除,定期修改表格仍是一种好的做法。
答
由于您没有太多的数据,您可以使用复制或插入。复制命令是为批量插入更优化..它就像给批量插入u的能力..
既会工作得精细
看起来你没有太多的数据..那么为什么你需要Redshift这是昂贵的和理想的解决方案,当你有大量的数据 – Deepak
还有其他表是巨大的,我们使用AWS DMS – Selva