发布于: Aug 31, 2021
Amazon Kinesis Data Firehose 现在可以按“customer_id”或“transaction_id”等数据中的键持续对流数据进行分区,并可以将按这些键分组的数据传输到相应的 Amazon Simple Storage Service (Amazon S3) 前缀中,从而让您可以更轻松地使用 Amazon Athena、Amazon EMR 和 Amazon Redshift Spectrum 对 Amazon S3 中的流数据执行高性能、经济高效的分析。
数据分区是优化性能和降低 Amazon S3 上的分析查询成本的最佳做法,因为分区可以最大限度地减少扫描的数据量。分区还会增加您控制数据访问的粒度。例如,您可能希望授予特定应用程序访问包含“customer_id”或“device_type.IoT”的数据的权限。传统上,客户使用 Kinesis Data Firehose 传输流捕获数据流并将其加载到 Amazon S3 中。要对基于 Amazon S3 的分析的流数据集进行分区,客户要在使数据可用于分析之前,在存储桶之间运行对应用程序的分区。这一额外的分区步骤造成了几分钟或几小时的洞察延迟、成本增加,并使架构变得复杂。
现在,使用动态分区,Kinesis Data Firehose 将通过动态或静态定义的数据键持续对传输中的数据进行分组,然后按键向单个 Amazon S3 前缀传输。这样一来,可将获得洞察的时间缩短几分钟或几小时,从而降低成本并简化架构。此功能与 Kinesis Data Firehose 的 Apache Parquet 和 Apache ORC 格式转换功能相结合,使得 Kinesis Data Firehose 成为捕获、准备和加载准备用于 Amazon S3 分析的数据的理想选择。