AWS Kinesis Data Analytics 可让您实时分析和处理数据流。 通过此服务,您可以构建实时分析仪表板、扫描日志文件以查找问题并检测异常。
这可以帮助您从数据中获取见解、检测问题并以极短的延迟响应问题。 本文概述了使用 AWS Kinesis Data Analytics 所需了解的所有信息。
目录
什么是 AWS Kinesis 数据分析?
来源:aws.amazon.com
AWS Kinesis Data Analytics 是一项完全托管的 AWS 服务,属于 AWS Kinesis 服务系列的一部分。 它使您能够处理实时接收的流数据。 这些流数据由物联网设备、点击流和广告应用程序日志等不同来源持续生成。 AWS Kinesis Data Analytics 在 AWS 云上提供托管 Apache Flink 实例,该实例在后台使用 EC2 实例
该系列中的其他服务包括 Kinesis Data Streams、Kinesis Data Firehose 和 Kinesis Data Streams。 该服务系列的主要目的是提供收集和处理流数据的解决方案。
什么是流数据?
流数据是不断流入系统并随着更多信息的添加而不断演变的数据。 这与随时间保持不变的静态数据集形成鲜明对比。
AWS Kinesis 可帮助您处理有界和无界数据集。 有界数据集有明确的开始和结束,而无界数据集有开始但没有明确的结束。
AWS Kinesis Data Analytics 的功能
除其他主要功能外,AWS Kinesis Data Analytics 还提供以下功能:
- 跨流数据的实时分析
- 基于 SQL 的编辑器编写脚本来执行分析
- 自动扩展以实现高可用性和可靠性
- 与其他 AWS 服务集成。
Kinesis Data Analytics 对业务的重要性
- Kinesis Data Analytics 使您能够轻松提供所需的信息,从而更快地做出决策。 如果没有数据分析,将数据采集并汇总为有意义的信息将需要时间并且会减慢决策速度。
- 它还可以更快地检测异常情况,以便更快地解决问题。 例如,业务处理交易可以标记可能表明欺诈的可疑活动。 然后可以快速解决此异常情况。
- 业务运营可以实时监控和控制。 数据可以从各种来源收集,例如网站事件、物联网测量以及来自不同传感器的数据。
AWS Kinesis Data Analytics 的架构
与任何处理系统一样,AWS Kinesis Data Analytics 包含多个组件,用于接收数据、处理数据并输出修改后的数据。 AWS Kinesis 的架构同样由数据源、处理应用程序、输出目标和用于在系统内移动数据的应用程序内流组成。
数据源可以是任何流数据源。 这可能包括 Firehose、S3 Buckets 和 Kinesis Data Streams 等 AWS 服务。 数据源也可以位于 AWS 外部,例如时间序列数据。
处理应用程序是您创建的 AWS Kinesis 应用程序。 这些应用程序会将接收到的数据转换为更有意义和更有洞察力的输出数据。 这些应用程序用 SQL 编写,并对从数据源获取的数据重复应用查询。
已处理数据的输出目标包括数据流、Firehose、S3 存储桶和 Amazon MSK。 目的地也可以是分析仪表板。
Kinesis Data Analytics 还使用应用程序内流来管理不同处理阶段之间的数据流。 这些流充当在应用程序内的 SQL 查询或 Flink 操作之间传输数据的通道。
AWS Kinesis Data Analytics 的关键组件
AWS Kinesis Data Analytics 由三个主要组件组成。 在本节中,我们将讨论这些组件是什么及其相关功能。
阿帕奇弗林克
AWS Kinesis Data Analytics 平台是 Apache Flink 的托管实例。 它托管在 Amazon 云基础设施上,特别是根据使用情况自动扩展的 EC2 实例。 Apache Flink 是一个用于构建高可用且准确的流应用程序的框架。
它适用于无界和有界数据。 该框架作为分布式系统运行在集群计算系统上。 Apache Flink 并行化应用程序并将其分布在集群中进行计算。
Kinesis 数据分析工作室
来源:aws.amazon.com
Kinesis Data Analytics Studio 使您能够使用笔记本创建可视化并运行查询。 这些笔记本在同一开发环境中支持 SQL、Python 和 Scala。
此支持包括语法突出显示和验证。 您可以使用 API 创建对这些笔记本中的流数据执行的查询。
Data Analytics Studio Notebooks 托管在自动扩展 EC2 实例上。 这意味着您永远不必担心底层基础设施,因为它是无服务器解决方案。
Kinesis Data Analytics SQL 应用程序
来源:docs.aws.amazon.com
数据分析 SQL 应用程序与数据流和 Firehose 集成,使您能够提取数据、使用 SQL 处理数据并将结果发送回 AWS 服务。
该组件提供了一个基于控制台的编辑器来构建和编写 SQL 查询。 除了编写查询之外,您还可以使用预构建的模板进行常见操作,这样您就不必重新设计所有内容并更快地完成工作。
为什么使用 Kinesis Data Analytics
#1. 可扩展性
该服务是一个托管的 Apache Flink 实例。 Apache Flink 使用并行集群计算来分配要完成的工作。 AWS 根据需要自动缩放底层计算集群的大小。 这使得 Kinesis Data Analytics 可自动扩展以处理非常大的数据流。
#2. 表现
Apache Flink 在处理大量数据时具有非常高的性能,因为它运行在可大规模扩展的并行计算网络上。 几乎所有操作都在内存或高效的磁盘数据结构中执行。 这在执行操作时提供了亚秒级的延迟。
#3。 优化
该平台还可以进行定制,以最大限度地提高性能。 例如,您可以更改窗口时间、窗口大小以及翻滚或滑动窗口以优化性能。 您还可以过滤数据以关注您感兴趣的属性。在编写 SQL 时,您还可以通过优化查询来提高其性能。
#4。 安全
AWS Kinesis Data Analytics 提供 AWS 云的安全性。 这包括加密传输中的数据、管理对数据和分析的访问以及您期望从云中的托管服务获得的定期更新和补丁的能力。
#5。 遵守
该服务还可以帮助您遵守数据和隐私法规。 它可以轻松定义数据保留和删除策略。 此外,您还可以利用 AWS 服务来帮助您实时识别威胁和事件。 这可确保数据得到正确且适当的处理。
Kinesis Data Analytics 的用例和应用
广泛而言,AWS Kinesis Data Analytics 使您能够编写代码来连续读取、处理和存储从实时数据流接收的数据。 这非常有用,因为它允许您构建许多东西,例如:
- 构建分析仪表板以快速处理收到的数据。 这些数据可能是您的网站/平台上的事件,您希望对其进行处理,以更好地了解用户如何与之交互。
- 在将数据流式传输到其他 AWS 服务(例如 Amazon S3 Buckets、Amazon Kinesis Data Streams 或 Amazon MSK)之前,对数据进行处理以使其更有意义。
- 处理来自物联网设备的数据并实时存储。
案例研究和成功故事
数量
Arity 是一家涉足交通领域的科技公司。 他们的目标是让交通变得更安全、更快捷、更智能。 这需要从大量流式传输的驾驶数据中获取见解。 借助 AWS Kinesis Data Analytics,他们可以做到这一点。 此外,他们还将解决挑战所需的时间从几个季度缩短到了几周。
隔壁
Nextdoor 是一款用于本地化社交网络的应用程序。 该应用程序提供当地社区新闻、提示和当地企业信息。 事实证明,AWS Kinesis Data Analytics 在获取诸如客户在不同参与渠道中的效率等见解时对他们来说具有无价的价值。
欧特克
Autodesk 是设计和工程软件的创建者。 这包括技术绘图中使用的 AutoCAD 和 Revit 等流行产品。 他们使用 AWS Kinesis Data Analytics 来分析日志,以更好地了解客户如何使用他们的产品并改进他们开发的软件。
学习资源
#1. AWS Kinesis 数据分析资源
AWS 提供的 AWS Kinesis 数据分析资源是一组可帮助您开始学习 AWS Kinesis 的优质资源。 您还可以信赖他们提供最新、最全面的指南。 他们还拥有涵盖平台不同方面的全面文档。
#2. AWS Kinesis 初学者教程 – YouTube
YouTube 上也有教程,比如这个。
最后的话
本文介绍了 AWS Kinesis Data Analytics。 目的是向您介绍该服务、为什么您可能想要使用它以及它在哪里最有帮助。
接下来,您可能想阅读我们关于 Apache Cassandra 的文章。