当遇到如下情况,平台提供的监控模板无法满足监控需求的时候,您可以通过自定义 SQL 创建 Hive 自定义规则。
- 需要通过一些复杂的判断逻辑或计算方式,将数据的字段转换为某个指标进行监控。
- 某个衡量一致性的指标需要通过多表之间的 Join 后才可以得出。
数据质量已支持多种引擎类型的自定义规则,其中 EMR 集群需上传 Jar 包后才可正常使用。本文将以 EMR 为例为您介绍如何配置自定义规则。
1 前提条件
- 已在概览页面购买大数据分析、湖仓一体、DataOps 敏捷研发或分布式数据自治解决方案。
- 已购买 EMR引擎服务,才可使用相应引擎功能。
2 EMR 集群初始化
EMR 引擎上传 Spark Jar 包后才能正常使用。若没有上传,当选择相应 EMR 引擎时,系统会弹窗提示您上传,操作如下:
- 登录 DataLeap 控制台。
- 选择数据质量 > 数据监控 > 离线数据监控 > 监控对象,进入监控对象页面。
- 在页面右上角的项目下拉列表中,选择要管理的项目。
- 单击自定义规则页签,进入自定义规则页面。
- 在引擎下拉列表中,选择 EMR 引擎和对应的实例,弹出作业程序包未上传提示窗口。
- 单击确定按钮上传程序包,等待几秒钟,待系统弹出上传成功的提示,则表示上传成功。
说明
- 具备 EMR 引擎的根目录读写权限的账号才能执行上传操作,主账号默认具备该权限。
- 在数据监控、数据探查或数据对比页面选择 EMR 引擎实例后,系统都会进行 Spark Jar 的扫描,可通过任一入口进行上传,上传成功一次即可。
3 创建规则
Spark Jar 包上传成功后,即可创建规则,操作如下:
单击 +新建规则按钮,进入新建自定义规则页面。
依次完成以下设置:
- 设置规则参数,单击下一步按钮。
- 设置监控逻辑,单击下一步按钮。
- 输入符合 Hive 语法规范的 SQL 语句。
- 单击解析SQL 按钮,自动填充字段监控逻辑。
- 可根据需要修改或增加 SQL 字段监控设置。
- 可根据需要,设置高级参数。
- 设置报警设置信息。
创建自定义规则相关参数设置如下表所示。欲了解其他配置情况的详细介绍可参见配置Hive自定义规则。
参数 | 说明 |
---|
规则信息 |
*规则名称 | 监控规则名称,自动填充,格式为自定义SQL_创建日期_创建时间,可编辑。 |
运行设置 |
*引擎 | 要创建规则的数据库存储引擎,自动显示已选择的 EMR 引擎和对应实例。 说明 EMR支持快捷模式和安全模式两类集群,集群访问模式的相关配置说明请参见绑定 EMR 集群。 - 快捷模式:选择监控对象时不会进行鉴权,可选择监控集群下所有数据表。
- 安全模式:选择监控对象时会进行数据鉴权,若无该表的读取权限,则无法创建相应的监控规则。
|
*执行方式 | 监控规则的执行方式,选择暂不设置,即不自动调度执行,可按需手动调度。 |
监控逻辑 |
*自定义SQL | 符合 Hive 语法规范的 SQL 语句,按需输入,例如select count(*) as ant from 库名.表名 where date = '${date}'; ,其中库表名按实际输入。 说明 - SQL 语句支持 join 和 group by,group by 后需设置维度字段。
- 为了提升报警结果的可读性,建议采用 as 缩写复杂的指标名称,监控将执行该 SQL 并判断报警。
- SQL 产出的数据行数最大为 200,超过部分会被截断,需合理控制产出数据量的大小。
|
解析SQL | 解析举例的SQL语句后,设置信息如下: - 字段名称自动填充 ant。
- 字段类型选择指标。
- 报警条件设置为数值 = 0。
当监控检测出的表行数数值与设定的阈值(0)做对比,发现等于阈值时,就会发出报警。 |
报警设置 |
*报警渠道 | 选择邮箱+站内信。 |
*报警对象 | 选择接收报警的用户,默认选择当前用户。 |
*报警发送 | 报警发送次数,默认 1 次。 |
*发送间隔 | 设置为 60 分钟。 |
*报警免打扰 | 选择关闭。 |
单击创建规则按钮,完成规则创建并显示在列表中。
4 运行规则并查看结果
- 单击该规则操作列的试跑按钮,在弹出的窗口中,设置试跑时间,可以开启新的试跑。
- 单击确定按钮,跳转到该规则的运行结果页面,待运行结束后,可以查看报警状态。
- 单击该监控信息操作列的运行日志按钮,可以查看该规则的监控运行日志,查找问题。