使用Studio开发监控动态表
使用Web-IDE开发并部署动态表
Web-IDE中动态表的开发过程,是通过可视化的向导方式辅助用户编写创建动态表的必要内容。例如:动态表所在的schema、动态表名称、刷新周期、动态表查询逻辑等。开发动态表脚本完成后,执行任务"提交"时系统会根据脚本内容在目标位置创建动态表、动态表的刷新策略配置进行自动化调度,从而实现动态表任务的部署上线。
- 第一步:新建动态表任务
您可以在Studio的IDE开发环境中,通过新建任务的方式添加"动态表"类型的任务。
新建时为任务代码指定任务名称并指定保存位置。
- 第二步:为动态表命名并编写动态表的SELECT查询语句
首先,填写动态表在提交后将要保存的schema位置以及动态表名称
其次,在SQL代码区域编写和测试动态表的查询语句。
在SQL代码区编写处理转换的SELECT语句,设置运行SQL的集群名称(当动态表部署运行时,将默认使用该集群运行刷新任务),同时可以通过运行按钮测试运行SELECT语句以确保处理逻辑的正确。
最后,通过Explain按钮校验查询语句的语法正确性并保存动态表的模型定义
点击按钮检查校验SELECT查询语法的正确性、检查字段名称及数据类型是否符合预期。确认正确后点击弹出窗口的"确定并继续"按钮,系统将保存动态表的定义并退出SQL代码编辑状态。
- 第三步:修改和调整动态表配置并提交部署
在完成动态表SQL代码开发并退出SQL编辑模式后,您将看到包括动态表基本信息、运行参数、SQL代码、动态表字段、动态表分区及分桶相关的默认配置。
在动态表模型定义提交部署至Lakehouse数据环境前,您还需要根据业务需要检查并修改以下配置信息,以满足生产运行需要。以下是动态表支持调整和修改的配置项目,请根据需要进行配置。
配置项 | 默认值 | 配置说明 | 示例 |
---|---|---|---|
动态表生命周期 | 永久 | 可选项。可选择指定动态表数据生命周期。 | ![]() |
负责人 | 任务脚本创建者 | 可选项。可调任务整负责人。 | |
动态表说明 | 无 | 可选项。添加动态表的注释信息。 | |
运行集群 | IDE开发时指定的集群名称 | 可选项。可根据部署环境的集群规划,选择其他计算集群运行动态表刷新任务。 | ![]() |
刷新方式 | 手动刷新 | 可选项。***建议生产使用时,选择自动刷新的刷新方式。***当前支持按分钟、小时、天间隔设置调度策略,最小调度间隔为1分钟。 | ![]() |
参数配置 | 无 | 可选项。动态表运行的高级参数设置,仅在特定优化场景下需要使用(一般由平台方针对特定场景提供优化参数),默认无需设置。 | ![]() |
SQL代码 | 上次保存的代码内容 | 可选项。当您在保存后,希望对SQL代码进行调整时可通过编辑方式修改并保存。 | ![]() |
编辑字段 | 无 | 在编辑字段时,您可以设置:* 字段注释。为字段添加注释信息 ,设置分区字段。添加特定字段为分区字段,支持普通分区字段、Transform分区,设置动态表分桶字段和数量。添加特定字段为分桶字段,并设置分工数量,开启分桶设置后,分桶数默认值为256个,设置排序字段。可指定1个或多个字段为排序字段,指定排序方法。 | ![]() |
- 第四步:提交部署动态表模型到目标环境
完成SQL开发和动态表配置后,您可以通过"DDL预览"查看动态表模型完整的DDL定义。
确认符合预期后,您可以点击动态表任务右侧的"提交"按钮,系统弹出与上次保存代码版本的对比:
确定提交后,您的模型开发内容最终将通过DDL命令在Lakehouse目标数据环境中执行、创建动态表数据对象。Lakehouse系统将自动根据动态表的刷新策略进行调度执行。
监控动态表刷新及管理任务启停
动态表监控列表
通过Studio Web-IDE成功提交部署的动态表任务,可以通过"运维监控"下"任务运维"菜单中的"动态表"TAB页面查看动态表的运行情况。目前,运维运维模块仅支持管理通过Web-IDE新建动态表节点创建的任务,不支持查看直接使用SQL命令手动创建的动态表(这部分对象您仍然可以通过SHOW DYNAMIC TABLE REFRESH HISTORY方式监控动态表刷新任务)。
以下是动态表运维监控列表页提供的信息。
列表表头含义
- 任务名称:用户新建动态表节点是指定的任务名称
- 动态表名:动态表的名称
- 任务状态:动态表的调度状态。调度状态包含正常调度、已暂停和未设置调度
- schema:动态表的schema
- 操作按钮:支持对动态表暂停调度、手动刷新、和下线操作。特别注意的是下线操作意味着会删除动态表
筛选选项
- 支持通过任务名称搜索、支持根据调度状态过滤、支持根据动态表的schema进行过滤
- 更多筛选框中支持根据负责人、动态表的创建时间过来
点击指定动态表任务名称,可以查看该动态表上游依赖关系的功能,帮助您更好地理解数据流和任务之间的相互影响。此外,您可以查看动态表的刷新历史记录,追踪任务的执行情况,了解是否进行了增量刷新。
指定动态表任务执行详情
任务详情
- 可以查看动态表的上游依赖关系。目前只能查看上游,无法查看下游。点击可以展开上游
- 顶部编辑按钮,跳转到数据开发进行编辑
- 顶部暂停按钮,暂停动态表的调度
- 顶部手动刷新按钮,手动触发动态表执行刷新命令
- 顶部下线按钮,下线操作意味着会删除动态表
节点代码
查看动态表的创建语句。
操作日志
记录动态表任务部署到下线生命周期内的操作审计事件。包括任务提交上线、暂停调度、恢复调度、手动刷新、下线等。
刷新历史
刷新历史提供了实时的动态表刷新执行历史,根据刷新历史您可以查看刷新任务执行的成功状态、关键的处理指标。
列表表头含义
- 开始时间:动态表每次执行刷新的开始时间
- 刷新耗时:动态表刷新执行的时间
- 作业状态:动态表的执行状态
- 作业ID:动态表执行的任务ID,通过ID可以跳转到作业详情。查看动态表的执行计划
- 增加的条数:增量刷新新增的条数
- 删除的条数:增量刷新比如基表中删除数据,增量刷新中删除的条数
- 依赖的表:动态表刷新时依赖了的表
筛选选项
- 支持根据作业ID搜索
- 支持耗时、作业状态、执行时间和集群进行过滤
监控告警
监控告警仅支持监控通过新建动态节点创建的任务,无法查看通过普通SQL脚本或SQL命令行提交的动态表。
-
支持动态表刷新超时告警,通过配置运行耗时监控动态表的刷新超时
- 工作空间:对整个工作空间中通过动态表节点创建且已经提交的任务
- 任务名称:对动态表单个节点进行监控
- 负责人:对动态表是该负责人的动态表监控
-
支持动态表刷新失败告警
- 会在指定时间检查动态表刷新失败次数,如果达到阈值则会触发报警
Studio动态表任务与动态表对象的关系
Studio在开发模块提供了名为"动态表"的任务类型,借助该任务类型提供对动态表任务的开发、运维及监控告警功能支持。在"开发"模块提交动态表任务时,系统将根据代码定义同步创建Lakehouse动态表对象,在"运维"模块下线动态表任务时,系统将自动删除Lakehouse动态表对象。 注意:在Studio开发模块使用动态表任务创建动态表任务时,系统会检查目标位置是否已经存在Lakehouse动态表对象并提示同名对象存在无法创建。此时可修改新建动态表任务名称或在手工删除先前存在的Lakehouse动态表对象后再创建Studio动态表任务。
约束与限制
Studio监控告警模块不支持对直接使用CREATE DYNAMIC TABLE语句创建的动态表进行告警配置。如需使用Studio监控告警对动态表创建告警规则,请通过Web IDE开发模块使用"动态表"任务创建并提交。