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

使用流分析无代码编辑器筛选和引入到 Azure Data Lake Storage Gen2

本文介绍如何使用无代码编辑器轻松创建流分析作业。 它不断从事件中心读取数据,筛选传入数据,然后将结果持续写入到 Azure Data Lake Storage Gen2。

先决条件

  • Azure 事件中心资源必须可供公开访问,并且不能位于防火墙后面或在 Azure 虚拟网络中受到保护
  • 事件中心中的数据必须以 JSON、CSV 或 Avro 格式进行序列化。

开发流分析作业以筛选和引入实时数据

  1. 在 Azure 门户中,找到并选择 Azure 事件中心实例。

  2. 选择“功能”>“处理数据”,然后在“筛选并引入到 ADLS Gen2”卡片上选择“启动”。
    显示“筛选并引入到 ADLS Gen2”卡片的屏幕截图,其中选择了“启动”。

  3. 输入流分析作业的名称,然后选择“创建”。
    显示在何处输入作业名称的屏幕截图。

  4. 指定事件中心窗口中数据的“序列化类型”和作业将用于连接到事件中心的“身份验证方法”。 然后选择“连接” 。
    显示可在其中选择序列化和身份验证方法的“事件中心”区域的屏幕截图。

  5. 如果成功建立连接并且有数据流流入事件中心实例,你将立即看到两项内容:

    1. 输入数据中存在的字段。 可以选择“添加字段”,也可以选择每个字段旁边的三个点符号来删除、重命名或更改其类型。
      显示可在何处添加字段或者删除、重命名或更改字段类型的屏幕截图。
    2. 图示视图下的“数据预览”表中的传入数据的实时示例。 它会定期自动刷新。 可以选择“暂停流式处理预览”以查看示例输入数据的静态视图。
      显示“数据预览”选项卡上的示例数据的屏幕截图。
  6. 选择“筛选”磁贴。 在“筛选器”区域中,选择一个字段来按条件筛选传入数据。
    显示可在其中添加条件筛选器的“筛选器”区域的屏幕截图。

  7. 选择“Azure Data Lake Storage Gen2”磁贴。 选择 Azure Data Lake Gen2 帐户以发送筛选的数据:

    1. 从下拉菜单中选择订阅、存储帐户名称和容器。
    2. 选择订阅后,应会自动填充身份验证方法和存储帐户密钥。 选择“连接”。
      如需详细了解这些字段并查看路径模式的示例,请参阅来自 Azure 流分析的 Blob 存储和 Azure Data Lake Gen2 输出
      显示 Azure Data Lake Gen2 Blob 容器连接配置设置的屏幕截图。
  8. 也可以选择“获取静态预览/刷新静态预览”,以查看将从 Azure Data Lake Storage Gen2 引入的数据预览。
    显示数据预览和“刷新静态预览”选项的屏幕截图。

  9. 选择“保存”,然后选择“启动”以启动流分析作业。
    显示作业“保存”和“启动”选项的屏幕截图。

  10. 要启动作业,请指定作业运行所用的流单元 (SU) 的数量。 SU 表示分配给作业的计算和内存量。 建议先将该数量指定为 3,然后根据需要进行调整。

  11. 选择“启动”后,作业将在两分钟内开始运行,并且指标将在下面的选项卡部分打开。

    显示“启动流分析作业”窗口的屏幕截图。

    可以在“流分析作业”选项卡中的“处理数据”部分下看到作业。选择“刷新”,直到看到作业状态为“正在运行”。 选择“打开指标”以根据需要监视它或停止并重启它。

    显示“流分析作业”选项卡的屏幕截图。

    下面是一个示例“指标”页:

    显示“指标”页的屏幕截图。

验证 Data Lake Storage 中的数据

  1. 应该会看到在指定的容器中创建的文件。

    显示生成的文件以及 Azure Data Lake Storage 中已筛选的数据的屏幕截图。

  2. 下载并打开该文件,确认你只看到筛选的数据。 在以下示例中,你会看到 SwitchNum 设置为 US 的数据。

    {"RecordType":"MO","SystemIdentity":"d0","FileNum":"548","SwitchNum":"US","CallingNum":"345697969","CallingIMSI":"466921402416657","CalledNum":"012332886","CalledIMSI":"466923101048691","DateS":"20220524","TimeType":0,"CallPeriod":0,"ServiceType":"S","Transfer":0,"OutgoingTrunk":"419","MSRN":"1416960750071","callrecTime":"2022-05-25T02:07:10Z","EventProcessedUtcTime":"2022-05-25T02:07:50.5478116Z","PartitionId":0,"EventEnqueuedUtcTime":"2022-05-25T02:07:09.5140000Z", "TimeS":null,"CallingCellID":null,"CalledCellID":null,"IncomingTrunk":null,"CalledNum2":null,"FCIFlag":null}
    {"RecordType":"MO","SystemIdentity":"d0","FileNum":"552","SwitchNum":"US","CallingNum":"012351287","CallingIMSI":"262021390056324","CalledNum":"012301973","CalledIMSI":"466922202613463","DateS":"20220524","TimeType":3,"CallPeriod":0,"ServiceType":"V","Transfer":0,"OutgoingTrunk":"442","MSRN":"886932428242","callrecTime":"2022-05-25T02:07:13Z","EventProcessedUtcTime":"2022-05-25T02:07:50.5478116Z","PartitionId":0,"EventEnqueuedUtcTime":"2022-05-25T02:07:12.7350000Z", "TimeS":null,"CallingCellID":null,"CalledCellID":null,"IncomingTrunk":null,"CalledNum2":null,"FCIFlag":null}
    {"RecordType":"MO","SystemIdentity":"d0","FileNum":"559","SwitchNum":"US","CallingNum":"456757102","CallingIMSI":"466920401237309","CalledNum":"345617823","CalledIMSI":"466923000886460","DateS":"20220524","TimeType":1,"CallPeriod":696,"ServiceType":"V","Transfer":1,"OutgoingTrunk":"419","MSRN":"886932429155","callrecTime":"2022-05-25T02:07:22Z","EventProcessedUtcTime":"2022-05-25T02:07:50.5478116Z","PartitionId":0,"EventEnqueuedUtcTime":"2022-05-25T02:07:21.9190000Z", "TimeS":null,"CallingCellID":null,"CalledCellID":null,"IncomingTrunk":null,"CalledNum2":null,"FCIFlag":null}
    

使用事件中心的异地复制功能时的注意事项

Azure 事件中心最近在公共预览版中推出了异地复制功能。 此功能与 Azure 事件中心的异地灾难恢复功能不同。

当故障转移类型为“强制”且复制一致性为“异步”时,流分析作业无法保证只将数据输出到 Azure 事件中心一次

Azure 流分析作为使用事件中心作为输出的生产者,可能会在故障转移期间以及当主服务器和辅助服务器之间的复制延迟达到配置的最大延迟时在事件中心进行限制期间观察到作业上的水印延迟

Azure 流分析作为使用事件中心作为输入的使用者,可能会在故障转移期间观察到作业上的水印延迟,并且可能会在故障转移完成后跳过数据或找到重复的数据

考虑到这些注意事项,我们建议你在事件中心故障转移完成后立即在适当的开始时间重启流分析作业。 此外,由于事件中心异地复制功能为公共预览版,因此我们目前不建议将此模式用于生产性流分析作业。 在事件中心异地复制功能正式发布并可用于流分析生产作业之前,当前的流分析行为会得到改进。

后续步骤

详细了解 Azure 流分析以及如何监视已创建的作业。