监控Azure数据存储和处理:全面指南
立即解锁
发布时间: 2025-08-21 01:27:19 阅读量: 2 订阅数: 18 


Azure数据工程与处理实战指南
# 监控 Azure 数据存储和处理:全面指南
## 1. SQL 命令执行与注意事项
UPDATE 和 SHOW_STATISTICS 这两个命令可通过 Microsoft SQL Server Management Studio 针对专用 SQL 池执行。要知道,全局端点可从任何受支持的客户端实用工具进行连接。不过,并非所有数据库管理工具都内置了所有 SQL Server 功能,若在一个工具中无法完成某项任务,可尝试使用其他工具。这类操作最好由有相关经验的数据库管理员(DBA)来分析和执行,因为查看命令输出、根据数据确定操作以及管理修改影响都需要专业技能和丰富经验。遇到安全和网络相关问题时,咨询专家总是明智之选。
## 2. 管道测试的调度与监控
### 2.1 管道触发调度类型
管道触发有多种调度类型:
- 定时调度:可选择每日、每周、每小时或每小时两次等频率,几乎任何组合都支持。
- 滚动窗口触发:管理依赖触发,确保上游依赖完成后才触发。
- 存储事件触发:例如,当文件添加到 ADLS 容器的文件夹时触发管道。
- 自定义事件触发:可绑定到 Event Grid 订阅,将调用暴露给多个端点,如 Event Hubs。
### 2.2 测试环境设置
不要在生产环境中测试管道更改,应设置与生产环境相同的副本环境进行测试,以防止生产数据损坏或丢失。从管道工件角度,可通过点击 Commit 按钮将更改上传到 GitHub 实现版本控制。Azure DevOps、CI/CD 和 TDD 等工具和技术可用于管理代码开发和测试,将更改从开发环境测试后部署到生产环境。
## 3. 解读 Spark 有向无环图(DAG)
DAG 与 Apache Spark 应用程序相关。选择作业时,会显示作业的一些详细信息,如持续时间、处理的行数以及读写的数据量(以兆字节为单位)。点击“View Details”链接可打开类似特定页面。默认的“Stages”选项卡中有“DAG Visualization”可展开,展开后会显示应用程序从调用到完成的不同步骤的 DAG 图。虽然示例中的作业不复杂,但有些应用程序可能非常复杂,包含数十或数百个步骤。这类似于 SQL 执行计划,有助于分析作业性能。当作业未按预期执行、出现异常或错误时,DAG 图能帮助定位问题。
## 4. 流处理监控
流处理监控内容在“Configure Monitoring Services”部分的“Azure Synapse Analytics”子部分有介绍。
## 5. 实施管道警报策略
在相关练习中创建了用于监控管道运行的警报规则,规则和一些指标可参考特定图示。
## 6. 开发批处理解决方案
### 6.1 批处理测试基础
要测试和排查管道问题,需了解日志类型、配置方法、检索方式及含义。这有助于更好地理解和应用监控知识。
### 6.2 数据管道测试设计
以名为 TransformSessionFrequencyToMedian 的管道为例,它包含三个组件:
- **Azure Batch 作业(Calculate Frequency Median)**:将包含完整脑电波会话的 JSON 文档转换为每个频率的中值。预期每个会话生成一个仅含中值频率的 JSON 文件,例如:
```json
{
"ALPHA": 1.4492,
"BETA_H": 0.7406,
"BETA_L": 2.4036,
"GAMMA": 0.4342,
"THETA": 3.3934
}
```
测试时需检查作业是否成功完成,以及输入和输出目录的文件数量是否相等。
- **Spark 作业(To Avro)**:将 JSON 文件转换为 AVRO 文件,这是批处理的最佳文件格式。测试时要检查作业是否成功完成,以及指定输出目录中是否有文件。
- **笔记本(Identify Brainwave Scenario)**:在 Azure Databricks 工作区运行,检索 AVRO 文件,将其中的频率值与特定表格中的值进行比较,输出写入 Delta 表并检索。测试时需检查笔记本运行是否成功,以及 Delta 表中是否有行。
### 6.3 测试方法选择
更改后需进行六项测试,测试成功后才能将更改发布到生产环境。测试可手动或自动进行。若独自工作且管道不复杂,手动测试更优;若在团队环境中,有多个管道或复杂度较高,且想实现 CI/CD,自动化测试更有益。
### 6.4 常见测试类型
常见的测试类型如下表所示:
| 类型 | 描述 |
| --- | --- |
| 单元测试 | 低级别,测试源代码中的类、方法和函数 |
| 集成测试 | 高级别,跨组件测试、架构和代码依赖 |
| 功能测试 | 根据业务需求测试输出 |
| 性能测试 | 比较上一版本和当前版本的性能指标 |
| 回归测试 | 检查旧错误是否重新引入发布管道 |
### 6.5 自动化测试工具
可用于自动化测试的工具包括 Azure DevOps、NUnit 和 Azure PowerShell/CLI。Azure DevOps 是管理自动化测试计划和实现 CI/CD 最复杂的工具。创建 Azure DevOps 组织和项目需要特定配置,通常只有订阅管理员有权限。Azure DevOps 的 URL 类似如下格式:
```
https://dev.azure.com/<organizationName>/<projectName>
```
替换组织名和项目名后,在“Test Plans”页面点击“+ New Test Plan”按钮可创建测试计划。创建测试计划后可创建测试用例,每个测试用例包含两个步骤。选择“Execute”选项卡可手动执行测试用例并记录状态。若步骤失败,会标记为“Failed”并可说明原因,还可创建工作项以便开发人员或数据工程师查看。“Chart”选项卡可可视化测试计划状态。若 Azure Synapse Analytics 端点未被防火墙规则或专用端点阻止,可使用 SDK 或 Azure PowerShell/CLI 测试管道,如使用 NUnit 结合代码触发管道、检查状态和验证存储账户容器中的结果。
## 7. 开发流处理解决方案
### 7.1 流处理监控指标
Azur
0
0
复制全文
相关推荐










