你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

欢迎使用 Azure 流分析

Azure 流分析是一个完全托管的流处理引擎,旨在以亚毫秒级的延迟分析和处理大量流数据。 可以使用流分析生成流式处理数据管道,以标识源自各种输入源的数据中的模式和关系,包括应用程序、设备、传感器、点击流和社交媒体源。 然后,你可以使用这些模式触发操作和启动工作流,例如发起警报、向报告工具馈送信息或存储转换后的数据供以后使用。 流分析在 Azure IoT Edge 运行时中也可用,它让你能够直接从 IoT 设备处理数据。

下面是一些可以使用 Azure 流分析的示例方案:

  • 对传感器数据进行异常情况检测,以检测峰值、下降和缓慢的正负向变化
  • 适用于舰队管理和无人驾驶汽车的地理空间分析
  • 远程监视和预测性维护高价值资产
  • 使用点击流分析来确定客户行为
  • 分析来自应用程序和 IoT 设备的实时遥测流与日志

显示流式处理管道的引入、分析和交付阶段的关系图。

主要功能和优点

完全托管的服务

Azure 流分析是 Azure 中的一项完全托管 (PaaS) 产品/服务。 无需预配任何硬件或基础结构、更新操作系统或软件。 Azure 流分析完全管理你的作业,因此你可以专注于业务逻辑,而不是基础结构。

易于使用

Azure 流分析易于入门。 只需单击几下鼠标即可创建连接到多个源和接收器的端到端流式处理数据管道。

可以创建一个流分析作业,让它可连接到 Azure 事件中心和 Azure IoT 中心以进行流式传输数据引入,并连接到 Azure Blob 存储或 Azure Data Lake Storage Gen2 以引入历史数据。 该流分析作业的输入还可以包含 Azure Blob 存储或 SQL 数据库中的静态数据或缓慢更改的参考数据,可将这些数据与流数据相联接,以执行查找操作。 有关流分析输入的详细信息,请参阅将数据作为输入流式传输到流分析中

可以将流分析作业中的输出路由到许多存储系统,例如 Azure Blob 存储、Azure SQL 数据库、Azure Data Lake Store 和 Azure Cosmos DB。 你也可以使用 Azure Synapse Analytics 或 HDInsight 在流输出上运行批处理分析,或将输出发送到另一个服务(例如事件中心)以使用这些输出,或发送到 Power BI 以进行实时可视化。 有关流分析输出的完整列表,请参阅了解 Azure 流分析的输出

Azure 流分析无代码编辑器提供无代码体验,能够使用拖放功能轻松开发流分析作业,而无需编写任何代码。 它进一步简化了流分析作业开发体验。 有关无代码编辑器的详细信息,请参阅 Azure 流分析中的无代码流处理

程序员工作效率

Azure 流分析使用 SQL 查询语言,该语言已经过强大的时间约束强化,可以分析动态数据。 可以使用 Azure 门户创建流分析作业。 还可以使用开发人员工具(如以下工具)创建作业:

可使用开发人员工具来离线开发转换查询,并使用 CI/CD 管道将作业提交到 Azure。

流分析查询语言提供一系列用于分析流数据的函数来执行复杂事件处理 (CEP)。 此查询语言支持简单的数据操作、聚合和分析函数、地理空间函数、模式匹配和异常情况检测。 可以在门户中编辑查询或使用开发工具编辑查询,然后使用从实时传送流中提取的示例数据来测试它们。

可以通过定义和调用其他函数来扩展查询语言的功能。 可以在 Azure 机器学习中定义函数调用,以便利用 Azure 机器学习解决方案,还可以集成 JavaScript 或 C# 用户定义的函数 (UDF) 或用户定义的聚合,以便在流分析查询中执行复杂的计算。

在云中或智能边缘上运行

Azure 流分析可以在云中运行,实现大规模分析,还可以在 IoT Edge 或 Azure Stack 上运行,实现超低延迟分析。 Azure 流分析在云和边缘上采用同一种工具和查询语言,让开发者能够生成用于流处理的真正混合体系结构。

总拥有成本低廉

流分析已作为云服务进行成本优化。 没有前期费用,只需为所使用的流单元付费。 无需承诺使用量,也无需预配群集,可以根据业务需求纵向缩放作业。

关键任务就绪

Azure 流分析可在全球多个地区使用,旨在通过支持可靠性、安全性和合规性要求来运行任务关键型工作负载。

可靠性

Azure 流分析保证刚好进行一次事件处理,以及至少进行一次事件传送,因此事件不会丢失。 如事件传递保证中所述,保证刚好处理一次选定的输出。

Azure 流分析有内置的恢复功能,可以在事件传送失败时发挥作用。 流分析还提供内置的检查点来维护作业的状态,并提供可重复的结果。

Azure 流分析支持所有作业的可用性区域。 任何新的专用群集或新作业都将自动受益于可用性区域,如果发生区域灾难,则通过故障转移到其他区域继续无缝运行,而无需任何用户操作。 可用性区域为客户提供通过服务冗余和逻辑隔离来承受数据中心故障的能力。 这将显著降低流式处理管道中断的风险。 请注意,与虚拟网络集成的 Azure 流分析作业当前不支持可用性区域。

作为一项托管服务,流分析可保证事件处理在分钟级别粒度具备 99.9% 的可用性。

安全性

在安全性方面,Azure 流分析会加密所有传入和传出通信,并支持 传输层安全性 (TLS) 1.2。 内置检查点也是加密的。 流分析不存储传入数据,因为所有处理都在内存中完成。 在流分析群集中运行作业时,流分析还支持 Azure 虚拟网络。

性能

流分析可以每秒处理数百万事件,而且传送结果时的延迟也极低。 它允许你横向扩展以适应工作负载。 流分析通过分区支持高性能,允许将复杂的查询并行化,并在多个流式处理节点上执行这些查询。 Azure 流分析基于 Trill,这是一种与 Microsoft Research 合作开发的高性能内存中流式处理分析引擎。

后续步骤

可以通过免费的 Azure 订阅来试用 Azure 流分析。

你现在已对 Azure 流分析有了一个大致的了解。 接下来,你可以进行深入了解并创建第一个流分析作业: