如何将实时数据发送到Amazon Redshift?

0

【以下的问题经过翻译处理】 我需要一个分析工具,用于分析产品在网站上发布广告时发送的日志或数据。该产品每分钟发送约10万个事件或更多。所有数据都对分析很重要,因此,我不能承受数据丢失的风险。

考虑到性能效率、数据一致性和成本优化等因素,最佳的将这些数据发送到Amazon Redshift的方式是什么?

profile picture
专家
已提问 5 个月前28 查看次数
1 回答
0

【以下的回答经过翻译处理】 如果数据通过Amazon Kinesis Data Streams (KDS)流式传输,则请选择以下选项之一:

  1. Kinesis Data Streams --> Lambda,使用Redshift Data API --> Redshift
  2. Kinesis Data Streams --> Kinesis Firehose --> Redshift
  3. Kinesis Data Streams --> Kinesis Firehose --> Amazon S3 (分区) <-- Redshift Spectrum (定期运行AWS Glue爬虫)

使用这些选项,数据一收到就可以进行查询。但是,有时您可能需要等待相当长一段时间才能查询数据。

为了更具成本效益,可以采取以下方法: 首先,通过Kinesis Data Streams --> Kinesis Firehose --> S3 --> Lambda --> S3 (优化为Parquet或ORC)将数据写入Amazon S3。然后,定期(例如每小时)运行AWS Glue爬虫以刷新AWS Glue数据目录。使用AWS Glue数据目录通过Amazon Spectrum Spectrum从Redshift查询数据。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则