使用 SQL 运算符处理事件(预览版)

SQL 运算符(预览版)也称为 SQL 代码编辑器,是Microsoft Fabric 事件流中的新数据转换功能。 SQL 运算符提供代码编辑体验,你可以使用简单的 SQL 表达式轻松定义自己的自定义数据转换逻辑。 本文介绍如何在事件流中使用 SQL 运算符进行数据转换。

Note

包含下划线(_)或点(.)的事件流项目名称与 SQL 运算符不兼容。 为获得最佳体验,请在不使用下划线或点的情况下创建新的事件流。

Prerequisites

  • 在 Fabric 容量许可证模式或具有参与者或更高权限的试用许可证模式下访问工作区。

将 SQL 运算符添加到事件流

若要使用 SQL 运算符对数据流执行流处理作,请使用以下说明将 SQL 运算符添加到事件流:

  1. 创建新的事件流。 然后使用下列选项之一向其添加 SQL 运算符:

    • 在功能区上,选择 “转换事件”,然后选择“ SQL”。

      显示菜单中用于转换事件的 SQL 运算符选择的屏幕截图。

    • 在画布上,选择“ 转换事件”或“添加目标”,然后选择“ SQL 代码”。

      显示在列表中选择用于转换画布上事件的 SQL 运算符的屏幕截图。

  2. 新的 SQL 节点将添加到事件流。 选择铅笔图标以继续设置 SQL 运算符。

    截图显示在 SQL 运算符节点上选择铅笔图标的操作。

  3. “SQL 代码 ”窗格中,为事件流中的 SQL 运算符节点指定唯一的名称。

  4. 在查询区域中编辑查询,或选择 “编辑查询 ”以输入全屏代码编辑器视图。

    屏幕截图显示输入操作名称的框,以及用于在 SQL 代码窗格中编辑查询的按钮。

  5. 全屏代码编辑器模式在左侧放置了一个输入/输出浏览器窗格。 代码编辑器部分是可调整的,因此可以根据偏好调整它的大小。 底部的预览部分使你能够查看输入数据和查询的测试结果。

    显示 SQL 完整编辑器的屏幕截图。

  6. 选择“ 输出 ”部分中的文本,然后输入目标节点的名称。 SQL 运算符支持所有实时智能目标,包括事件库、湖库、激活器或流。

    显示“输出”区域的屏幕截图,其中选择了加号按钮。

  7. 为通过 SQL 运算符处理的数据写入的输出目标指定别名或名称。

    显示输出名称的屏幕截图。

  8. 为所需的数据转换添加 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 
    
  9. 在功能区上,使用 测试查询 命令验证转换逻辑。 测试结果显示在“ 测试结果 ”选项卡上。

    显示测试结果的屏幕截图。

  10. 完成测试后,选择功能区上的 “保存 ”以返回到事件流画布。

    显示查询的功能区(包括用于测试查询和保存的命令)的屏幕截图。

  11. “SQL 代码 ”窗格中,如果启用了 “保存 ”按钮,请选择它以保存设置。

    显示“SQL 代码”窗格和“保存”按钮的屏幕截图。

  12. 配置目的地。

    显示已完成的事件流的屏幕截图。

Limitations

  • SQL 运算符旨在集中所有转换逻辑。 因此,不能与同一处理路径中的其他内置运算符一起使用。 不支持在单个路径中链接多个 SQL 运算符。 此外,SQL 运算符还可以仅将输出数据发送到拓扑中的目标节点。

  • 目前,仅通过用户界面支持创作事件流拓扑。 SQL 运算符的 REST API 支持尚不可用。