跳到主要内容

单独建表

单独建表

使用场景:数据集成人员,提前通过平台创建STG表结构以作为目标表;对于数据开发人员,可管理不同数仓层级的表结构,便于后续数据加工。

使用角色:数据集成人员、数据开发人员。

功能描述:平台提供白屏化建表,并管理数据表基础信息、字段信息、高级配置等信息,以实现对表本身信息的全面管理。

新建

  1. 进入资源管理 > 数据表管理 > 全仓数据表管理界面,点击列表上方的“新建数据表”按钮,选择下拉框中的单独建表。
    单独建表
  2. 跳转至新建数据表界面,根据页面内容填写相关信息,完成后点击右下角的“保存”按钮即可新建数据表。
    单独建表

基础配置

  • 基础信息:
    • 中文名:必填,填写数据表中文名称,数据表中文名全空间唯一
    • 英文名:必填,填写数据表英文名称,数据表英文名空间内同一数仓层级唯一
    • 责任人:必填,默认为当前建表用户,仅空间管理员可修改下拉选择平台用户;责任人主要在“业务权限管控”开启时,会自动获得所负责表的“读写”权限,若责任人变更,新旧责任人都拥有该表的“读写”权限;
    • 提供方:必填,下拉选择组织机构,即该数据表的来源组织;
    • 资源标签:必填,建议至少填写内置的数仓层级标签,再按需选择自定义标签,尚无资源标签时可点击“配置”按钮快速跳转进行配置;
    • 关联目录:非必填,点击按钮后可勾选多个目录进行关联目录;
    • 业务系统:数据集成时,数仓层级资源标签为 STG,则业务系统是必填项,下拉选择之前步骤一新建的业务系统完成关联,请确保该表对应的来源表确实来自所选业务系统,则查看业务系统时可以看到其关联的 STG 层数据表;
    • 数据分级:非必填,下拉选择空间管理员在系统管理 > 数据分级中定义的数据分级;
    • 共享方式:非必填,不可修改,根据所选数据分级,联动显示该分级关联的共享方式,不同共享方式在数据开放申请访问时的要求有所不同,详细参见:数据分级-共享方式
    • 参考依据:非必填,下拉选择(可多选)标准文件名称,支持按名称模糊搜索;
    • 描述:非必填,填写该表的业务描述信息。

系统默认会新建一个空字段,可根据信息项逐一填写,若需新增字段,可点击下方 “新增字段”或“引用字段”按钮。

  • 字段信息:
    • 字段中文名:必填,填写字段中文名称,同一个表内字段中文名不允许重复;
    • 字段英文名:必填,填写字段英文名称,同一个表内字段英文名不允许重复;
    • 字段类型:必填,下拉选择所需字段类型;
    • 字段长度:根据填写的字段类型和实际业务需求填写合适的字段长度,部分字段类型无需填写;
    • 字段精度:根据填写的字段类型和实际业务需求填写字段精度,即数字的小数位数,部分字段类型无需填写;
    • 非空:默认为不勾选,勾选后则所在列的数据不能为空;
    • 是否敏感:默认为不敏感,用户选择“是”即为确认敏感,可为当前字段配置脱敏规则;
    • 脱敏规则:支持下拉选择已配置脱敏规则,当前选择仅为手动标记为敏感,需脱敏处理确认后,则数据预览、消费时会按所选脱敏规则进行动态脱敏;
    • 字段引用:点击单选引用主数据字段或标准字段,引用后回显所选引用字段,并自动将主数据/标准字段的字段信息进行填充,以规范字段内容。
      使用约束说明
      • 已存在同名字段不可被同名字段之外的字段引用;
      • 已被高级配置使用的字段,不支持修改引用字段;
      • 已引用的字段信息除字段中英文外均不可更改,需取消引用后方可修改;
      • 在新建数据表时,未被高级配置使用的字段,取消引用后字段内容恢复至引用之前内容,且字段信息恢复至可修改;已被高级配置使用的字段,取消引用后字段内容保留当前引用的内容,且字段信息不可修改;在修改数据表时,若该字段已经是引用过字段,取消引用也不会恢复到引用前状态,只会取消引用关系,保持字段信息不变并可修改;
      • 若该字段已引用主数据字段,则引用标准字段后替换已引用的主数据字段,反之亦同。

单独建表

引用字段

除在每一行单个引用字段外,还可通过点击新建字段按钮右侧的“引用字段”按钮批量引用字段,从而同时提升建表效率和字段规范性。

注意
  • 标准字段引用和主数据引用为互斥关系,即一个字段只能二选一进行引用。如若已引用主数据,则再次引用标准字段时替换已引用主数据,并清空主数据列的引用信息,反之亦然。

主数据字段引用

  • 信息项说明:
    • 引用字段类型:选择主数据字段;
    • 主数据领域:下拉选择在系统管理 > 目录管理 > 主数据领域中创建好的主数据领域;
    • 主数据模型:下拉选择在数据规范 > 主数据中提前创建好的主数据模型;
    • 主数据字段:下拉选择该主数据模型的字段,支持多选,已引用主数据字段不可重复选;
    • 主数据标识字段:不可修改,引用主数据字段将同时引用该主数据的唯一标识字段,用于后续一致性校验;
    • 数据表标识字段:指定数据表标识字段,用于和主数据标识字段在数据一致性校验时实现行级匹配,建议优先选择主键字段,且业务含义与主数据标识字段相近。
      注意
      • 此“引用字段”为新增逻辑,即配置保存后,会在列表新增所配引用字段,每一行可再独立维护;
      • 标识字段不支持修改字段类型;
      • 被设置为数据表标识字段的字段不支持删除;
      • 当主数据模型中对应字段发生变更,不影响当前的引用,继续使用历史版本,当重新选择时则使用最新版本。

单独建表

标准字段引用

  • 信息项说明:
    • 引用字段类型:选择标准字段;
    • 标准字段目录:下拉选择在数据规范 > 标准字段中提前创建好的标准字段目录;
    • 标准字段名称:下拉选择关联此标准字段目录的标准字段名称,支持多选,已引用标准字段不可重复选。
      注意
      • 此“引用字段”为新增逻辑,即配置保存后,会在列表新增所配引用字段,每一行可再独立维护
      • 当标准字段信息发生变更,不影响当前的引用,继续使用历史内容,当重新选择时则使用最新内容

字段检测

  • 字段检测:主要用以发现可能需要引用主数据字段/标准字段进行规范的字段,点击“字段检测”按钮即可自动检测,若字段较多可能比较耗时,请耐心等待。
    • 检测逻辑
      • 已引用主数据、标准字段的字段直接跳过检测;
      • 配置为数据分布、主键、索引、分区的字段不参与字段检测;
      • 填写了字段中文名、英文名的字段均参与检测;
      • 检测过程为将参与检测的字段逐一与本空间已创建的主数据字段、已发布的标准字段进行字段中英文名精准匹配,中英文名任一匹配命中即出现在结果列表中,并按当前数据表字段顺序进行排序展示;
      • 字段检测结果分为主数据字段、标准字段,若某一字段已匹配命中主数据字段,则不会再出现在标准字段结果列表,反之亦同。
    • 一键引用
      • 支持一键引用,不勾选则引用替换全部,勾选则仅引用勾选,可取消不引用;
      • 当同一字段匹配到多个主数据字段/标准字段,一键引用直接跳过不替换,并提示手动引用;手动引用勾选,一个字段只可勾选一个标准字段。

高级配置

  • 数据分布配置
    • 新建
      • 当底层为分布式数据库时,才会出现该配置;
      • 必填,默认为HASH(哈希,需要选字段),可选择分布方式REPLICATION(复制,不需要字段);
      • 分布键支持数据类型包括:int4,int8,decimal,char,varchar,text,date,timestamp,timestamptz;
      • 分布键使用字段不允许再引用主数据字段、标准字段。
    • 修改:
      • 新建后不支持修改配置;
      • 被使用字段不支持修改;
      • 被使用字段不支持引用字段;
    • 删除:
      • 新建后不支持删除配置;
      • 被使用字段不支持删除。
注意

建表时,选择分布列可对 SQL 查询性能产生重大影响,可以依据如下原则选择分布方法和分布列:

  • 复制(Replication)方式:将表中的全量数据在集群的每一个数据节点 DN 实例上保留一份。主要适用于记录集较小的表,一般情况下只有较小的维度表才会选择这种分布方式;
  • 哈希(Hash)方式:将表中某一个或几个字段进行哈希运算后按映射确定数据存储的位置。这种分布方式使得数据时可以利用各个节点的 IO 资源,大大提升表的读/写速度,适合数据量较大的事实表。哈希方式需要指定分布列,应满足以下原则:
    • 分布均衡:列值应比较离散,以便数据能够均匀分布到各个 DN。例如,考虑选择表的主键为分布列,如在人员信息表中选择身份证号码为分布列。实际使用中,可以使用如下 SQL 检查各个 DN 上的数据分布情况: select xc_node_id, count(1) from tablename group by xc_node_id;
    • 连接条件:在满足上述 “分布均衡” 条件的情况下,再考虑选择查询中的连接条件为分布列,以便 Join任务能够下推到 DN 中执行,减少 DN 之间的通信数据量;
  • 分布列不建议超过3列,使用的列长度不宜超过128,否则会带来较高的计算开销。

高级配置使用说明

高级配置项
字段类型要求
约束限制
存储方式-行存储-把一行中的数据值串在一起存储,适合随机的增、删、改、查操作,和基于索引的简单查询,更适用于TP场景。
存储方式-列存储不支持xml、json字段类型把一列中的数据值串在一起存储,适合一次insert大批量数据,和统计分析类查询,提供更优数据压缩比,更适用于AP场景。
使用限制如下
  • 修改数据表时不支持修改已有字段的非空配置
  • 高级配置中不支持主键、hash索引和分区
  • 主键不支持bytea、geometry 和 bool 字段类型选择当前已创建的一个或多个表字段作为数据表主键。
    使用限制如下
  • 主键新建保存生效后,已配置主键内容不可修改删除
  • 列存储不支持配置主键
  • 索引不支持bytea、geometry 和 bool 字段类型选择当前已创建的一个或多个表字段作为数据表索引。
    使用限制如下
  • 列存储仅支持Hash类型的索引
  • 底层为分布式数据库时,创建唯一索引选择字段需包含“数据分布”所有已选字段
  • 分区字段
  • 不支持bytea、geometry、bool、float4、float8字段类型
  • 当字段类型为 date, timestamp,timestamptz, varchar, int4, int8, decimal, char, text 分区字段类型可选择哈希分区(hash)
  • 当字段类型为 date, timestamp, timestamptz 可选择间隔分区(interval),按配置的时间间隔生成分区,如按月选2023-09,那么9月之前是一个分区,然后9月一个分区,10月一个分区,依此类推
  • 可根据表的一列或者多列,将要插入表的记录分为若干互不重叠的分区,存储相应的数据,旨在优化查询和数据的覆写、删除,提高性能。
    使用限制如下
  • 分区字段新建保存生效后,已配置分区字段内容不可修改删除
  • 预设分区:仅分布式数据库,且分区类型选择“间隔分区”时才会出现该配置,默认值为7,可手动加减,最小为1
  • 修改

    选择某个数据表,在操作列点击修改按钮即可进行表信息修改,保存后生效。

    注意
    • 已发布状态数据表不可修改,需下架后方可修改
    • 当数据表存在数据时,修改字段类型等操作耗时较长,请等待后台修改完成后再写入数据,否则数据库也会等待修改完成后才会执行写入操作
    • 修改数据表英文名,删除字段,会自动下线以下已关联的数据加工作业
    • 当前业务权限管控开启时,即使有数据表修改的系统权限,也无权限修改无“读写”权限的数据表
    • 高级配置修改限制
    高级配置项修改限制
    存储方式新建后不支持修改配置
    主键
  • 新建后不支持修改配置
  • 被使用字段不支持修改
  • 被使用字段不支持引用字段
  • 索引
  • 新建后不支持修改已新建索引,但可再新建索引
  • 被使用字段不支持修改
  • 被使用字段不支持引用字段
  • 分区字段
  • 新建后不支持修改配置
  • 被使用字段不支持修改
  • 被使用字段不支持引用字段
    • 字段类型不兼容说明
      修改字段类型时,原始字段类型不可修改为以下不兼容字段类型:
    原始字段类型不兼容字段类型
    xmlfloat8,decimal,bool,json,bytea,geometry
    byteadate,timestamp,varchar,int4,int8,float4,float8,decimal,bool,char,text,json,xml
    geometrydate,timestamp,int4,int8,float4,float8,decimal,bool,json,xml
    dateint4,int8,float4,float8,decimal,bool,json,xml,bytea,geometry
    timestampint4,int8,float4,float8,decimal,bool,json,xml,bytea,geometry
    timestamptzint4,int8,float4,float8,decimal,bool,json,xml,bytea,geometry
    varcharbool,json,xml,bytea,geometry
    int4date,timestamp,json,xml,bytea,geometry
    int8date,timestamp,json,xml,bytea,geometry
    float4date,timestamp,bool,json,xml,bytea,geometry
    float8date,timestamp,bool,json,xml,bytea,geometry
    decimaldate,timestamp,json,xml,bytea,geometry
    booldate,timestamp,float4,float8,json,xml,bytea,geometry
    charbool,json,xml,bytea,geometry
    textbool,json,xml,bytea
    jsondate,timestamp,int4,int8,float4,float8,decimal,bool,xml,geometry
    xmldate,timestamp,int4,int8,float4

    复制

    点击某个数据表“更多操作”,再点击“复制”按钮,即进入数据表新建页面,同步自动填充所选数据表的配置,可局部修改后保存。

    注意
    • 数据表复制无业务权限校验,即无业务权限数据表也可复制;
    • 数据表复制无需数据表“新建”的系统权限,即拥有数据表复制的系统权限即可复制数据表内容完成表的创建。

    删除

    选择某个数据表,在操作列点击删除按钮即可进行数据表删除,二次确认后生效,会同步删除数据库中数据表。

    注意
    • 已发布状态数据表不可删除,需下架后方可删除
    • 已关联数据表服务,且服务处于发布状态时不可删除,需下架服务后方可删除
    • 存在关联已上线的数据加工作业/指标加工作业/标签加工作业/数据质检作业,不允许删除,需先下架已上线的作业
    • 当前业务权限管控开启时,即使有数据表删除的系统权限,也无权限删除无“读写”权限的数据表
    • 高级配置删除限制
    高级配置项删除限制
    存储方式新建后不支持删除配置
    主键
  • 新建后不支持删除配置
  • 被使用字段不支持删除
  • 索引新建后支持删除索引
    分区字段
  • 新建后不支持删除配置
  • 被使用字段不支持删除
  • 关联目录&解除关联

    • 关联目录
      平台支持将资产关联至目录,供后续资产发布至数据开放模块时,若关联目录也发布,则可按目录展示资产。
    1. 点击某个资产“关联目录”按钮;或批量勾选资产后,点击“批量关联目录”按钮。 单独建表
    2. 进入 “关联目录” 操作界面后勾选需要关联的“待选”目录,将其确认为“已选”目录,保存即可关联目录。 单独建表
    注意
    • 已发布资产不允许关联目录,需下架资产再操作;
    • 当前表已选目录不可重复选择;
    • 批量关联时不会显示多个表的已关联目录,并且保存后会清空各表已关联目录,仅关联最新批量选择的目录。
    • 解除关联
      已关联目录的资产支持解除关联,则该资产不可在数据开放模块可见。
    1. 点击某个资产“关联目录”按钮,即可解除关联目录。
    2. 进入 “关联目录” 操作界面后将需要解除关联的“已选”删除,保存即可解除关联目录。 单独建表
    注意
    • 已发布资产不允许解除关联目录,需下架资产再操作;
    • 当前暂不支持批量解除关联目录。

    空间内发布&下架

    • 发布
      平台支持将空间内资产发布至数据开放 > 本空间资产 >模块,若其已关联目录也已发布,则其他用户可见该资产,并可申请消费。
    1. 点击某个未发布资产“更多操作”,状态资产可点击“发布”按钮;或批量勾选数据表后,点击批量发布,二次确认后即可发布成功。 单独建表
    • 下架
      通过下架资产,可将已发布至数据开放 > 本空间资产 >模块的资产下架,让其他用户不再可见,且已有消费权限的用户不再可消费。
    1. 点击某个已发布资产“更多操作”,点击“下架”按钮;或批量勾选数据表后,点击批量下架,二次确认后即可下架成功。 单独建表

    跨空间共享&下架

    跨空间共享

    使用场景:对于一些公共数据表,往往是多个空间都需要使用的,数据开发人员可通过跨空间共享,将所选数据表共享至指定空间,待其他空间用户申请通过后,即可在各自空间使用跨空间表,减少公共数据表的冗余存储和多头维护。

    使用角色:数据开发人员。

    功能描述:可对所选表进行跨空间共享的发布申请,并指定共享空间,待本空间管理员审批通过,指定空间用户即可在各自跨空间资产模块查看到本空间已共享数据表供申请访问;同样支持共享下架申请,则下架空间该资产不再可见,且所有已授权的权限回收。

    • 跨空间共享
    1. 进入资源管理 > 数据表管理 > 全仓数据表管理界面,选择某个未共享的数据表,在“更多操作”中点击“跨空间共享”按钮,即可指定需要共享的空间,可多选。
      跨空间共享跨空间共享
    注意
    • 已共享的空间、存在发布申请审批中的空间,均不可勾选再次申请,除非权限回收或审批完成;
    • 若操作人为空间管理员,自动审批通过;
    • 若同时勾选多个空间,每一个空间申请生成一条独立审批单。
    1. 空间管理员收到跨空间共享发布申请,管理员可在个人中心进行审批操作。审批通过后,指定共享空间的用户可在数据开放 > 跨空间资产 > 共享数据表 界面查看已共享发布的数据表,并可申请列级的数据库直连访问权限。
    注意
    • 跨空间共享状态为“是”的数据表,不可修改、删除操作,需先共享下架;
    • 数据表存在任一空间的共享,跨空间共享则状态为是。
    • 共享下架
    1. 进入资源管理 > 数据表管理 > 全仓数据表管理界面,选择某个已共享数据表,在“更多操作”中点击“共享下架”按钮,即可指定需要共享下架的空间,可多选,存在下架申请审批中的空间不可选,除非审批完成。 跨空间共享跨空间共享
    2. 空间管理员收到跨空间共享下架申请,管理员可在个人中心进行审批操作。审批通过后,指定下架空间的用户不可在数据开放 > 跨空间资产 > 共享数据表 界面查看已共享下架的数据表。
    注意
    • 指定共享下架空间的所有用户,都自动回收对共享下架数据表的权限;若该表已被数据开发相关作业使用,则作业运行会报错,请及时手动处理;
    • 若已共享下架的数据表再次共享发布,历史申请权限不会自动恢复,需再次申请。
    • 使用域
      其他空间授权给本空间的跨空间表,拥有只读权限,仅可在以下模块使用:
      1. 数据开发-SQL加工 可select跨空间表数据参与数据加工
      2. 数据开发-指标加工 可选择跨空间表作为原子指标来源表
      3. 数据开发-标签加工 可选择跨空间表作为标签所在表
      4. 数据分析-数据探查&AI探查 可select跨空间表数据查询结果,并进行结果分析产出业务卡片、面板

    相关术语

    主键 索引 分区 数据分布 行存 列存 数仓层级 资源标签 标准字段 主数据 数据分级

    最佳实践

    数据集成-批量库表导入