开始使用 Eventhouse
创建 Eventhouse 时,会自动创建具有相同名称的默认 KQL 数据库。 Eventhouse 包含一个或多个 KQL 数据库,可在其中创建表、存储过程、具体化视图、函数、数据流和用于管理数据的快捷方式。 可以使用默认 KQL 数据库或根据需要创建其他 KQL 数据库。
在您的 Eventhouse 中处理数据
可通过多种方式访问和处理 Eventhouse 中 KQL 数据库中的数据:
数据引入
可以直接从各种源将数据引入 KQL 数据库:
- 本地文件、Azure 存储、Amazon S3
- Azure 事件中心、Fabric Eventstream、实时中心
- OneLake、数据工厂复制、数据流
- 连接到源的连接器,如 Apache Kafka、Confluent Cloud Kafka、Apache Flink、MQTT(消息队列遥测传输)、Amazon Kinesis、Google Cloud Pub/Sub
数据库快捷方式
可以为其他事件库或 Azure 数据资源管理器数据库中的现有 KQL 数据库创建数据库快捷方式。 这些快捷方式使你能够从外部的 KQL 数据库中查询数据,就好像这些数据是本地存储在事件库中的一样,而无需实际对数据进行复制。
OneLake 可用性
可以为单个 KQL 数据库或表启用“OneLake 可用性”功能,从而让数据在整个 Fabric 生态系统中可供访问,以便与 Power BI、数据仓库、湖屋等其他 Fabric 服务进行跨工作负载集成。
查询 KQL 数据库中的数据
若要查询 KQL 数据库中的数据,可以在 KQL 查询集中使用 KQL 或 T-SQL。 创建 KQL 数据库时,会自动创建附加的 KQL 查询集来运行和保存查询。
基本 KQL 语法
KQL 使用管道式的方法,数据通过管道符号 (|) 从一个操作流向下一个操作。 可以把它想象成一个漏斗:从整个数据表开始,每个运算符在传递到下一步之前都会对数据进行筛选、重排或汇总。 运算符的顺序很重要,因为每个步骤都适用于上一步的结果。
重要
KQL 对于包括表名称、列名、函数名称、运算符、关键字和字符串值在内的所有内容都区分大小写。 所有标识符必须完全匹配。 例如,TaxiTrips 不同于 taxitrips 或 TAXITRIPS。
下面是显示漏斗概念的示例:
TaxiTrips
| where fare_amount > 20
| project trip_id, pickup_datetime, fare_amount
| take 10
此查询首先从 TaxiTrips 表中的所有数据开始,接着筛选出车费超过 20 美元的行程,然后使用 project 运算符选择特定的列,并使用 take 运算符返回 where 子句条件下匹配的前 10 行。
最简单的 KQL 查询由表名组成:
TaxiTrips
这会返回 TaxiTrips 表中的所有列,但显示的行数受查询工具默认设置的限制。
若要从可能较大的表中检索数据示例,请使用 take 运算符:
TaxiTrips
| take 100
这会返回 TaxiTrips 表中的前 100 行,这对于浏览数据结构非常有用,而无需处理整个表。
还可以聚合数据:
TaxiTrips
| summarize trip_count = count() by taxi_id
这将返回一个汇总表,显示每个唯一 taxi_id 的总行程次数 (trip_count),有效地计算每辆出租车的行程次数。
使用 KQL 查询集分析数据
KQL 查询集提供一个工作区,用于针对 KQL 数据库运行和管理查询。 使用 KQL 查询集可以保存查询以供将来使用、组织多个查询选项卡,并与其他人共享查询以供协作。 KQL 查询集还支持 T-SQL 查询,允许使用 T-SQL 语法和 KQL 进行数据分析。
还可以在探索数据时创建数据可视化,将查询结果呈现为图表、表格和其他可视格式。
使用 Copilot 协助查询
对于基于 AI 的 KQL 查询协助,可以使用用于实时智能的 Copilot
管理员启用 Copilot 后,可在查询集菜单栏中看到该选项。 Copilot 作为主查询界面的侧边窗格打开。 提出有关数据的问题时,Copilot 会生成 KQL 代码来回答问题。