创建Hologres内部表

Hologres可通过DDL方式创建Hologres内部表,也可使用DataWorks提供的可视化方式创建。本文为您介绍如何使用DataWorks可视化方式创建Hologres内部表。

前提条件

背景信息

Hologres的表类型分为内部表和外部表,其区别如下:

  • 内部表:可直接存储MaxCompute源数据。您可将MaxCompute源表数据同步至Hologres内部表中快速查询分析。该方式比创建外部表方式查询性能更好。

  • 外部表:不能直接存储MaxCompute源数据,但可将MaxCompute源表数据映射至Hologres外部表中,加速查询分析数据。该方式无冗余存储,无需导入导出数据,即可快速获取查询结果。

DataWorks作为数据加工的开发平台,提供了便捷的可视化建表方式,同时,您也可以直接使用Hologres通过DDL语句建表,详情请参见CREATE TABLE

使用限制

当前仅华东2(上海)、华北2(北京)地域支持使用该功能。

操作步骤

  1. 进入数据开发页面。

    登录DataWorks控制台,单击左侧导航栏的数据建模与开发 > 数据开发,在下拉框中选择对应工作空间后单击进入数据开发

  2. 创建业务流程

    如果您已有业务流程,则可以忽略该步骤。

    1. 鼠标悬停至新建图标,选择新建业务流程

    2. 新建业务流程对话框,输入业务名称

    3. 单击新建

  3. 创建Hologres内部表。

    1. 鼠标悬停至新建图标,选择新建表 > Hologres >

    2. 新建表对话框,选择表类型内部表,并配置表所在的引擎、路径及名称等信息。

      输入表信息

  4. 配置Hologres内部表。

    在Hologres内部表的编辑页面,您可配置表的相关信息。

    1. 配置基础属性。

      基础属性表的主要基础属性如下。

      参数

      描述

      存储模式

      表在Hologres中的存储模式。默认为列存。

      • 列存:适用于OLAP场景。适合各种复杂查询、数据关联、扫描、过滤和统计。写入和更新效率低于行存表。

      • 行存:适用于 KV(key-value)场景 。适合基于主键的点查询和扫描。写入和更新更加友好。

      • 行列共存:适用于同时使用列存和行存的场景,既支持高效的点查询,也支持OLAP分析。该模式存储开销及内部数据状态同步的开销更大。

      说明

      更多存储格式的详细介绍,请参见CREATE TABLEorientation参数说明。

      生命周期

      表的生命周期,单位为秒。默认表的生命周期为永久。

      说明

      从数据首次写入表的时间开始计算,当到达生命周期后,表数据会在某一段时间内被清除(该时间段随机)。

      Binlog

      表是否开启Binlog。Binlog开启时,需指定Binlog的生命周期,Binlog的生命周期默认为永久。

      说明

      仅Hologres V0.9及以上版本支持单表级别的Binlog功能。Binlog的更多介绍,详情请参见订阅Hologres Binlog

    2. 配置业务信息。

      说明

      表的业务信息,仅是基于业务需求方便管理表使用,不涉及底层逻辑的实现。

      业务描述

      参数

      描述

      主题

      表所属的一级文件夹与二级文件夹。您可基于业务用途对表进行归类,将同类表挂载至相同文件夹中。

      说明

      一级主题、二级主题仅为DataWorks上文件夹的呈现形式,旨在方便您更好地管理表。

      层级

      表所属的物理数仓分层。层级是用来定义和管理数据仓库分层,通常分为贴源层、共享层和分析层。您可根据表的业务用途,将其挂载至合适的层级。

      说明

      单击新建图标可自定义层级。详细操作请参见表管理

      物理分类

      表的物理分类,即基于业务使用视角对表进行更详细的分类。通常包括基础业务层、高级业务层和其它。

      说明

      单击新建图标可自定义物理分类。详细操作请参见分类管理

    3. 配置表结构。

      配置表结构

      参数

      描述

      字段设计

      添加并定义表的字段信息。Hologres支持的数据类型,详情请参见数据类型汇总

      存储设计

      定义表字段的存储方式。

      • 分布列:用于指定表的分布策略。数据根据分布列被分配到各个shard,后续基于shard进行计算、扫描等。

      • 分段列:通常指定与时间类型强相关的列作为分段列。当查询条件包含该分段列时,可快速找到相应数据对应的存储位置。适用于日志、流量等和时间强相关的数据。

      • 聚簇列:用于在指定列上建立聚簇索引。Hologres会在聚簇索引上对数据进行排序,加速索引列上range和filter查询。

      • 字典编码列:用于为指定列的值构建字典映射。字典编码可将字符串的比较转为数字的比较,加速group by、filter等查询。

      • 位图列:即比特编码列,可对存储文件内部数据进行快速等值过滤。因此,建议您将等值filter条件的数据构建为比特编码。

      更多存储方式的详细介绍,请参见CREATE TABLE

      分区

      定义表的分区字段。

      说明

      当分区表设有主键时,主键中必须包含分区字段。

  5. 提交并发布Hologres内部表。

    表结构定义完成后,您需将其提交至开发环境与生产环境,提交成功后才可在环境对应的引擎项目查看该表。

    说明

    如果您使用的是简单模式的工作空间,仅需将表提交至生产环境。简单模式与标准模式工作空间介绍,详情请参见必读:简单模式和标准模式的区别

    操作

    描述

    从开发环境加载

    用于从开发环境加载开发表的相关信息,并显示至当前页面。

    说明

    仅当表已被提交至开发环境后,才可执行该操作。执行该操作后,开发环境已创建的表信息会覆盖当前页面的表信息。

    提交到开发环境

    提交表至DataWorks的开发环境,即在开发环境对应的Hologres数据库创建当前表。

    提交后您可在DataWorks数据开发相应业务流程(即创建表时所选的路径)的Hologres目录,查看该表结构。

    从生产环境加载

    用于从生产环境加载生产表的相关信息,并显示至当前页面。

    说明

    仅当表已被提交至生产环境后,才可执行该操作。执行该操作后,生产环境已创建的表信息会覆盖当前页面的表信息。

    提交到生产环境

    提交表至DataWorks的生产环境,即在生产环境对应的Hologres数据库创建当前表。

后续步骤

Hologres内部表创建完成后,您可执行如下操作: