更新时间:2024-11-29 GMT+08:00

配置物化视图的有效期与数据刷新能力

物化视图的有效期

创建物化视图的“mv_validity”字段为物化视图的有效期,HetuEngine只会使用有效期内的物化视图进行自动改写。

物化视图的数据刷新

如果需要数据定期更新,需要定时刷新物化视图,可以使用如下两种方式实现:

  • 手动刷新物化视图

    参考使用HetuEngine客户端HetuEngine客户端执行refresh materialized view <mv name>,或者在用户的业务程序通过JDBC驱动执行refresh materialized view <mv name>进行手动更新。

  • 自动刷新物化视图
    1. 如果要启动物化视图的自动刷新能力,必须存在一个被设置为维护实例的计算实例,设置维护实例可参考14.6.4-配置HetuEngine维护实例
    2. 使用“create materialized view”创建具备自动刷新的物化视图。
      • 如果物化视图过多,可能会导致物化视图在刷新的等待队列中等待时间过长而过期。
      • 自动刷新功能不会自动刷新状态为disable的物化视图。

查询外部Hive数据源使用自动刷新物化视图注意事项

维护实例默认使用HetuEngine内置用户hetuserver/hadoop.<系统域名>作为执行物化视图自动刷新的用户, 当创建物化视图语句查询外部Hive数据源,且该数据源开启数据源鉴权时,需修改执行自动刷新的用户,修改方法如下:

  1. 对端集群是否已安装HetuEngine服务。

    • 是:执行3
    • 否:执行2

  2. 准备系统用于自动刷新的用户。

    1. 在本端集群和对端集群同时创建同名人机用户。

      mvuser为例,对端集群需要为mvuser添加“supergroup”用户组,本端集群需要为mvuser添加“supergroup”和“hive”用户组,并且添加对应维护实例的租户角色。

    2. (可选)若本端集群开启了Ranger鉴权,则需要给mvuser用户添加刷新物化视图和set session的权限,可分别参考表1表2

  3. 使用HetuEngine管理员用户登录FusionInsight Manager页面。
  4. 选择“集群 > 服务 > HetuEngine > 配置 > 全部配置”,进入HetuEngine服务配置页面。
  5. 搜索“jobsystem.customized.properties”,添加用户自定义配置名称为“hetuserver.engine.jobsystem.inner.principal”,值为如下内容,添加完成后单击“保存”,根据界面提示保存配置。

    • 对端集群已安装HetuEngine服务:值为“hetuserver”。
    • 对端集群未安装HetuEngine服务:值为2.a创建的用户名。

  6. 单击“实例”,勾选所有HSBroker实例,选择“更多 > 重启实例”,根据界面提示重启HSBroker实例。
  7. 单击“概览”,在“基本信息”区域单击“HSConsole WebUI”后的链接,进入HSConsole界面。在“计算实例”页签,找到维护实例,单击“操作”列的“重启”根据界面提示重启维护实例。

    在计算实例的“实例名”列中,存在图标的即为维护实例,也可以通过14.6.4-配置HetuEngine维护实例章节确认维护实例。