你当前正在访问 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 格式进行序列化。
开发流分析作业以筛选和引入实时数据
在 Azure 门户中,找到并选择 Azure 事件中心实例。
如果成功建立连接并且有数据流流入事件中心实例,你将立即看到两项内容:
选择“Azure Data Lake Storage Gen2”磁贴。 选择 Azure Data Lake Gen2 帐户以发送筛选的数据:
- 从下拉菜单中选择订阅、存储帐户名称和容器。
- 选择订阅后,应会自动填充身份验证方法和存储帐户密钥。 选择“连接”。
如需详细了解这些字段并查看路径模式的示例,请参阅来自 Azure 流分析的 Blob 存储和 Azure Data Lake Gen2 输出。
也可以选择“获取静态预览/刷新静态预览”,以查看将从 Azure Data Lake Storage Gen2 引入的数据预览。
要启动作业,请指定作业运行所用的流单元 (SU) 的数量。 SU 表示分配给作业的计算和内存量。 建议先将该数量指定为 3,然后根据需要进行调整。
选择“启动”后,作业将在两分钟内开始运行,并且指标将在下面的选项卡部分打开。
可以在“流分析作业”选项卡中的“处理数据”部分下看到作业。选择“刷新”,直到看到作业状态为“正在运行”。 选择“打开指标”以根据需要监视它或停止并重启它。
下面是一个示例“指标”页:
验证 Data Lake Storage 中的数据
应该会看到在指定的容器中创建的文件。
下载并打开该文件,确认你只看到筛选的数据。 在以下示例中,你会看到 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 流分析以及如何监视已创建的作业。