简介
Amazon Kinesis Data Firehose 是一项提取、转换、加载 (ETL) 服务,可以将串流数据以可靠方式捕获、转换和提供到数据湖、数据存储和分析服务中。
Amazon Kinesis Data Firehose 是将流数据加载到数据存储和分析工具的最简单方式。Kinesis Data Firehose 是一项完全托管式服务,让您可以轻松地从数十万个来源中捕获、转换大量流数据,并将其加载到 Amazon S3、Amazon Redshift、Amazon OpenSearch Service、Kinesis Data Analytics、通用 HTTP 终端节点,以及 Datadog、New Relic、MongoDB 和 Splunk 等的服务提供商中,从而获得近乎实时的分析与见解。
功能
- 从数据源读取数据,常用的数据来源包括以下几种
- 使用aws sdk提供的firehose接口
- putRecord
- putRecordBatch
- Amazon Kinesis Data Stream
- Amazon Kinesis Agent
- 一个java应用,可以安装在服务器上
- 指定需要监控的文件以及目标Kinesis Data Firehose delivery stream
- agent会自动从指定的文件收集数据发送到 Kinesis Data Firehose delivery stream
- CloudWatch Logs
- 创建 CloudWatch Logs subscription,并指定filter逻辑
- 当指定的log event产生时会发送log events到Kinesis Data Firehose
- CloudWatch Events
- 将Kinesis Data Firehose delivery stream作为CloudWatch Event rule的target
- 当event发生时,会将event数据发送到delivery stream
- AWS IoT
- 创建AWS IOT action
- 选择 Send messages to an Amazon Kinesis Firehose stream
- 使用aws sdk提供的firehose接口
- 对数据进行转换(可选)
- 可以利用lambda function对源数据进行转换
- 将数据存储到目标对象,常用的目标对象包括以下几种