存储和查询实时数据

已完成

Eventhouse 中的 KQL 数据库用于存储和查询来自 Eventstream 和其他流源的实时数据。 将数据加载到表中后,可以使用 Kusto 查询语言(KQL)或 T-SQL 来查询数据。

Microsoft Fabric 中 Eventhouse 的屏幕截图。

在 Eventhouse 中,可以创建:

  • KQL 数据库:实时优化的数据存储,用于托管表集合、存储函数、具体化视图、快捷方式和数据流。
  • KQL 查询集:可用于处理 KQL 数据库表中数据的 KQL 查询集合。 KQL 查询集支持使用 Kusto 查询语言(KQL)或 Transact-SQL 语言子集编写的查询。

了解 Kusto 查询语言(KQL)的强大功能

若要查询 KQL 数据库中表中的数据,可以使用 KQL。 KQL 专为分析大量具有特殊性能的结构化、半结构化和非结构化数据而设计。 KQL 数据库通过引入时间和分区来优化时序数据和索引传入数据,以实现最佳的查询性能。 KQL 与 Azure 数据资源管理器、Azure Monitor Log Analytics、Microsoft Sentinel 和 Microsoft Fabric 中使用的语言相同。

熟悉 KQL 语法

KQL 查询由一个或多个查询语句组成。 查询语句包含一个表名,后跟运算符、takefiltertransformaggregatejoin数据。 例如,若要打印 股票 表中的任何 10 行,请执行:

stock
| take 10

更复杂的示例可能会聚合数据,以查找过去 5 分钟内的平均股票价格:

stock
| where ["time"] > ago(5m)
| summarize avgPrice = avg(todouble(bidPrice)) by symbol
| project symbol, avgPrice

提示

若要了解有关 KQL 的详细信息,请参阅 Kusto 查询语言 (KQL) 概述

使用管理命令自动处理数据处理

除了基本查询之外,还可以通过 管理命令 自动执行数据处理,包括:

  • 更新策略:自动转换传入数据,并在到达时将其保存到不同的表。
  • 具体化视图:预计算和存储摘要结果,以提高查询速度。
  • 存储的函数:保存可在多个查询中重复使用的常用查询逻辑。

提示

有关使用 KQL 数据库的详细信息,包括更新策略、具体化视图和存储函数的详细示例,请参阅 使用 Microsoft Fabric Eventhouse 中的实时数据

其他查询选项

使用 SQL

Eventhouses 中的 KQL 数据库还支持常见 T-SQL 表达式的子集,供已熟悉 T-SQL 语法的数据专业人员使用。 例如:

SELECT TOP 10 * FROM stock;

使用 Copilot 帮助查询

Microsoft Fabric 包括用于 Real-Time Intelligence 的 Copilot,可帮助编写查询,以便从 Eventhouse 数据中提取见解。 Copilot 使用 AI 了解要查找的内容,并可以生成所需的查询代码。

提示

若要详细了解 Copilot for Real-Time Intelligence,请参阅 Copilot for Real-Time Intelligence