本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
什么是 Amazon Kinesis Data Streams?
可以使用 Amazon Kinesis Data Streams 实时收集和处理大型数据记录流
Kinesis Data Streams 是 Kinesis 流媒体数据平台的一部分,还有 Firehose、Kinesis Video Streams 和 Apache Flink托管服务。
有关 AWS 大数据解决方案的更多信息,请参阅上的 Big Data AWS
我能用 Kinesis Data Streams 做什么?
您可以使用 Kinesis Data Streams 实现快速而持续的数据引入和聚合。使用的数据类型可以包括 IT 基础设施日志数据、应用程序日志、社交媒体、市场数据源和 Web 点击流数据。由于数据引入和处理的响应时间是实时的,因此处理通常是轻量级的。
以下是使用 Kinesis Data Streams 的典型场景:
- 加速的日志和数据源引入和处理
-
您可以让创建者直接将数据推入流。例如,推送系统和应用程序日志,它们可在几秒内就绪,以用于处理。这可以防止因前端或应用程序服务器故障而造成日志数据丢失。Kinesis Data Streams 可加快数据源接收速度,因为在提交数据以进行引入之前,数据不会在服务器上进行批处理。
- 实时指标和报告
-
您可以使用收集到 Kinesis Data Streams 中的数据进行实时的简单数据分析和报告。例如,您的数据处理应用程序可以处理系统和应用程序日志的指标和报告,因为数据将流入而不是等待接收批量数据。
- 实时数据分析
-
这可将并行处理的强大功能与实时数据的价值相结合。例如,实时处理网站点击流,然后使用多个并行运行的不同的 Kinesis Data Streams 应用程序来分析站点可用性参与度。
- 复杂流处理
-
您可以创建 Kinesis Data Streams 应用程序和数据流的有向无环图 (DAGs)。这通常会涉及将数据从多个 Kinesis Data Streams 应用程序放入其他流,以供其他 Kinesis Data Streams 应用程序进行下游处理。
使用 Kinesis Data Streams 的好处
虽然可使用 Kinesis Data Streams 解决各种流数据问题,但其常见用途是实时聚合数据,然后将聚合数据加载到数据仓库或 map-reduce 集群。
将数据放入 Kinesis 数据流,以确保持久性和弹性。将记录放入流中的时间与可以检索的时间(put-to-get 延迟)之间的延迟通常小于 1 秒。换言之,在添加数据之后,Kinesis Data Streams 应用程序几乎立即可以开始使用流中的数据。Kinesis Data Streams 的托管服务方面可减轻您创建和运行数据引入管道的操作负担。可以创建流式 map-reduce 类型应用程序。利用 Kinesis Data Streams 的弹性,可以扩大或缩小流,以确保数据记录绝不会在过期前丢失。
多个 Kinesis Data Streams 应用程序可以使用流中的数据,以便多个操作(如归档和处理)可以并发且独立地进行。例如,两个应用程序可读取同一流中的数据。第一个应用程序计算正在运行的聚合并更新 Amazon DynamoDB 表,第二个应用程序压缩数据并将数据归档至数据存储,例如 Amazon Simple Storage Service(Amazon S3)。然后,控制面板会读取包含正在运行的聚合的 DynamoDB 表以获取报告。 up-to-the-minute
Kinesis Client Library 支持容错使用流中的数据,并提供针对 Kinesis Data Streams 应用程序的扩展支持。
相关服务
有关使用亚马逊EMR集群直接读取和处理 Kinesis 数据流的信息,请参阅 Kinesis Connector。