ByteHouse 支持以可视化方式管理异步物化视图,支持按照同步频次异步刷新数据,适合占用较多计算资源的复杂场景。本文介绍了如何创建、删除异步物化视图。
前提条件
使用前请务必检查视图定义是否符合异步视图使用的最佳场景:
- 视图定义 SQL 中使用的基表推荐离线天级更新表,不推荐实时表,否则会导致频繁触发刷新任务,增加刷新代价,给系统负载造成负担。
- 视图定义 SQL 要保证分区对齐:视图目的表分区是由基表中一张表分区数据计算得来,否则如果基表有变化就会触发全量刷新,代价很高。
- 多表 join 最合适的场景:事实表天级离线更新,维表基本不更新,对于事实表不能对齐分区或者维表频繁变动的,会频繁全量刷新,加重系统负载。
- 视图刷新没有重试机制,失败只能到下个调度周期调用,建议设置分钟级调度间隔,增加重试机会。
- 调度间隔并不是验证按照设置的时间间隔,跟任务执行时长也有关系,任务执行时长超过间隔会推迟到下个调度周期执行,不能强依赖调度间隔,期望准时调度。
- ByteHouse 云数仓版异步视图的参数设置较为复杂,涉及到各种计算组(VW)设置,否则会走到默认计算组,造成 server 负载加重,请在创建异步物化视图时配置专用计算组。
更多异步物化视图的介绍请参见SQL 管理异步物化视图。
使用限制
使用前,请确认您的引擎为 v2.3 及以上版本。您可以在 ByteHouse 控制台的租户管理>基本信息页面查看您当前的引擎版本。
创建异步物化视图
登录 ByteHouse 控制台,在数据库页签下单击目标数据库,单击 + 视图,单击创建物化视图。

在创建物化视图页面,输入查询 SQL后,单击下一步。

配置物化视图信息,并单击下一步。

参数 | 参数说明 |
|---|
物化视图类型 | 选择异步物化视图。 |
数据库 | 选择在哪个数据库中创建物化视图和目标表。 |
名称 | 自定义物化视图的名称。命名规则如下: - 名称只能包含字母,数字和下划线"_"。
- 最多 128 个字符。
|
排序键 | 系统会根据您已输入的 SQL 命令推荐合适的排序键,您可从下拉列表中选择确认。创建完成后暂不支持更改排序键。 |
分区键 | 系统会根据您已输入的 SQL 命令推荐合适的分区键,您可从下拉列表中选择确认。创建完成后暂不支持更改分区键。 |
计算组 | 选择物化视图依赖的计算组资源。 |
刷新频次 | 选择数据刷新频次。支持按天、小时、分钟、秒刷新。 |
执行时区 | 选择刷新数据依赖的时区。 |
执行周期 | 您可设置为全天,也可自定义执行周期。
选择自定义执行周期时,需配置具体执行日期、开始时间和结束时间。您可单击 + 按钮,定义多个执行时间。 |
预览系统自动生成的创建 SQL,确认是否符合您的需求。确认无误后,单击创建,系统将自动创建异步物化视图。如需修改信息,可单击上一步。

系统提示创建成功后,在物化视图页签中,单击物化视图名称,查看物化视图详细信息。
编辑异步物化视图
异步物化视图创建完成后支持编辑计算组、刷新频次和执行周期。
- 在 ByteHouse 控制台中,在数据库页签下单击目标数据库,单击物化视图页签,单击目标物化视图名称。

- 在物化视图页面,单击异步同步任务页签,单击编辑。

- 在编辑刷新配置界面,您可按需调整计算组,调整刷新频次、执行时区、执行周期、执行时间等信息。

- 调整配置后,单击保存。
系统提示“编辑物化视图成功”,您可在异步同步任务页签下查看调整后的计算组及刷新配置。
手动执行异步物化视图同步任务
异步物化视图创建完成后支持手动执行异步同步任务,您可按需手动执行。
- 在 ByteHouse 控制台中,在数据库页签下单击目标数据库,单击物化视图页签,单击目标物化视图名称。

- 在物化视图页面,单击异步同步任务页签,单击手动执行。

系统将提示“手动执行成功”,您可查看任务列表查看任务执行状态。
删除异步物化视图
- 在 ByteHouse 控制台中,在数据库页签下单击目标数据库,单击物化视图页签,单击目标物化视图名称。

- 单击物化视图界面右上角 ... 按钮,单击删除物化视图。

- 在弹窗中,单击删除。