什么是 Amazon Kinesis Data Firehose?
Amazon Kinesis Data Firehose 是一个完全托管的服务,用于将实时流数据传输到目标,例如,Amazon Simple Storage Service (Amazon S3)、Amazon Redshift、Amazon Elasticsearch Service (Amazon ES) 和 Splunk。Kinesis Data Firehose 与 Kinesis Data Streams、Kinesis Video Streams 和 Amazon Kinesis Data Analytics 都是 Kinesis 流式处理数据平台的一部分。在使用 Kinesis Data Firehose 时,您无需编写应用程序或管理资源。您可以配置数据创建器以将数据发送到 Kinesis Data Firehose,后者自动将数据传输到您指定的目标。您还可以配置 Kinesis Data Firehose 以在传输之前转换数据。
有关 AWS 大数据解决方案的更多信息,请参阅 Big Data on AWS。有关 AWS 流数据解决方案的更多信息,请参阅什么是流数据?。
重要概念
要开始使用 Kinesis Data Firehose,最好了解以下概念:
- Kinesis Data Firehose 传输流
-
Kinesis Data Firehose 的基础实体。您可以创建 Kinesis Data Firehose 传输流 并向其发送数据以使用 Kinesis Data Firehose。有关更多信息,请参阅 创建 Amazon Kinesis Data Firehose 传输流 和 将数据发送到 Amazon Kinesis Data Firehose 传输流 。
- record
-
您的数据创建器发送到 Kinesis Data Firehose 传输流 的目标数据。记录最大可达 1000 KB。
- 数据创建器
-
创建器将记录发送到 Kinesis Data Firehose 传输流。例如,发送日志数据到传输流的 Web 服务器是数据创建器。您也可以将 Kinesis Data Firehose 传输流 配置为自动从现有的 Kinesis 数据流中读取数据,并将数据加载到目标中。有关更多信息,请参阅将数据发送到 Amazon Kinesis Data Firehose 传输流 。
- 缓冲区大小和缓冲间隔
-
在传输到目标之前,Kinesis Data Firehose 缓冲特定大小或特定时间的传入流数据。Buffer Size 的单位是 MB,Buffer Interval 的单位是秒。
数据流
对于 Amazon S3 目标,流数据将传输到您的 S3 存储桶。如果启用了数据转换,您可以选择将源数据备份到另一个 Amazon S3 存储桶。

对于 Amazon Redshift 目标,流数据先传输到您的 S3 存储桶。然后,Kinesis Data Firehose 发出 Amazon Redshift COPY 命令,将数据从您的 S3 存储桶加载到 Amazon Redshift 集群。如果启用了数据转换,您可以选择将源数据备份到另一个 Amazon S3 存储桶。

对于 Amazon ES 目标,流数据将传输到您的 Amazon ES 集群,并且可以选择将流数据同时备份到 S3 存储桶中。

对于 Splunk 目标,流数据将传输到 Splunk,并且可以选择将流数据同时备份到 S3 存储桶中。
