SQL 运算符(预览版)也称为 SQL 代码编辑器,是Microsoft Fabric 事件流中的新数据转换功能。 SQL 运算符提供代码编辑体验,你可以使用简单的 SQL 表达式轻松定义自己的自定义数据转换逻辑。 本文介绍如何在事件流中使用 SQL 运算符进行数据转换。
Note
包含下划线(_)或点(.)的事件流项目名称与 SQL 运算符不兼容。 为获得最佳体验,请在不使用下划线或点的情况下创建新的事件流。
Prerequisites
- 在 Fabric 容量许可证模式或具有参与者或更高权限的试用许可证模式下访问工作区。
将 SQL 运算符添加到事件流
若要使用 SQL 运算符对数据流执行流处理作,请使用以下说明将 SQL 运算符添加到事件流:
创建新的事件流。 然后使用下列选项之一向其添加 SQL 运算符:
新的 SQL 节点将添加到事件流。 选择铅笔图标以继续设置 SQL 运算符。
在 “SQL 代码 ”窗格中,为事件流中的 SQL 运算符节点指定唯一的名称。
在查询区域中编辑查询,或选择 “编辑查询 ”以输入全屏代码编辑器视图。
全屏代码编辑器模式在左侧放置了一个输入/输出浏览器窗格。 代码编辑器部分是可调整的,因此可以根据偏好调整它的大小。 底部的预览部分使你能够查看输入数据和查询的测试结果。
选择“ 输出 ”部分中的文本,然后输入目标节点的名称。 SQL 运算符支持所有实时智能目标,包括事件库、湖库、激活器或流。
为通过 SQL 运算符处理的数据写入的输出目标指定别名或名称。
为所需的数据转换添加 SQL 查询 。
事件流基于 Azure 流分析构建,它支持流分析查询语言的相同查询语义。 若要详细了解语法和用法,请参阅 Azure 流分析和事件流查询语言参考。
下面是基本查询结构:
SELECT column1, column2, ... INTO [output alias] FROM [input alias]此查询示例显示每分钟检测一次房间中的高温:
SELECT System.Timestamp AS WindowEnd, roomId, AVG(temperature) AS AvgTemp INTO output FROM input GROUP BY roomId, TumblingWindow(minute, 1) HAVING AVG(temperature) > 75此查询示例显示了一个
CASE语句用于对温度进行分类。SELECT deviceId, temperature, CASE WHEN temperature > 85 THEN 'High' WHEN temperature BETWEEN 60 AND 85 THEN 'Normal' ELSE 'Low' END AS TempCategory INTO CategorizedTempOutput FROM SensorInput在功能区上,使用 测试查询 命令验证转换逻辑。 测试结果显示在“ 测试结果 ”选项卡上。
完成测试后,选择功能区上的 “保存 ”以返回到事件流画布。
在 “SQL 代码 ”窗格中,如果启用了 “保存 ”按钮,请选择它以保存设置。
配置目的地。
Limitations
SQL 运算符旨在集中所有转换逻辑。 因此,不能与同一处理路径中的其他内置运算符一起使用。 不支持在单个路径中链接多个 SQL 运算符。 此外,SQL 运算符还可以仅将输出数据发送到拓扑中的目标节点。
目前,仅通过用户界面支持创作事件流拓扑。 SQL 运算符的 REST API 支持尚不可用。