1. 概述

数据融合 > 通用数据接入 > 数据表管理 模块下,可以查看和管理神策系统中使用的数据表,包括用户表、事件表、创建的标签、分群的表,以及自定义创建的数据表。

在此模块下创建数据表后,可以在 数据融合 > 通用数据接入任务管理 页面进行数据的导入,常见的应用场景有:作为维度表使用、作为报表的数据源或指标平台的数据源。

2. 创建数据表

支持三种方式创建表:

  • 直接创建
  • 通过 SQL 创建
  • 通过上传方式创建

下面一一介绍。

2.1. 直接创建

直接创建数据表是指在界面上输入字段信息,直接创建 物理表

  1. 选择 数据融合 > 通用数据接入 > 数据表管理
  2. 点击右上角 创建数据表,然后选择 直接创建
  3. 选择 所属引擎。支持创建 主键表 非主键表
  4. 填写 表名称。数据表名称需要满足以下条件:
    1. 仅支持小写字母、数字、下划线且以字母为首。
    2. 长度最多 100 个字符。
    3. 在当前数据库内,数据表名称不可重复。
  5. 填写 表显示名。不能超过 100 个字符,同一数据库内,表显示名不能重复。
  6. 选择 业务方显示状态,选填,配置数据表在各业务方的显示或隐藏状态。
  7. 表结构信息 小节中 添加字段
    1. 点击 添加字段
    2. 填写 字段名。每个字段的名称需要满足以下条件:
      1. 仅支持小写字母、数字、下划线且以字母为首。
      2. 长度最多 100 个字符。
      3. 在当前数据表内,字段名称不可重复。
    3. 填写 字段显示名。不能超过 100 个字符,同一数据表内,字段显示名不能重复
    4. 选择 数据类型。支持使用以下几种数据类型:
      1. <布尔 Bool>
      2. <整型 Int>
      3. <长整型 BigInt>
      4. <数值 Number>
      5. <字符串 String>
      6. <时间戳 Timestamp>
      7. <集合 List>
    5. 设置 主键字段。当 所属引擎 选择 主键表 时,需要设置当前字段是否为主键字段。
  8. 分区字段信息 小节中 添加分区字段。只有 所属引擎 选择 非主键表 时,才需要添加区分字段。
  9. 设置 表数据权限。用于控制在任务管理等功能使用该数据表的权限,默认 全部成员。创建者始终拥有该表的数据权限,且不可取消。
    1. 全部成员:即该项目内全部成员都可使用该表。
    2. 指定对象:可根据账号、角色来进行授权。
  10. 点击 提交 按钮。

2.2. 通过 SQL 建表

SQL 建表是指在界面上输入 SQL 语句,以创建 物理表视图表

  1. 选择 数据融合 > 通用数据接入 > 数据表管理
  2. 点击右上角 创建数据表,然后选择 通过 SQL 创建
  3. 填写 表显示名。不能超过100个字符,同一数据库内,表显示名不能重复。
  4. 选择 业务方显示状态,选填,配置数据表在各业务方的显示或隐藏状态。
  5. 进行 SQL 逻辑配置。创建物理表时,可直接在右侧的 SQL 输入框填写建表语句;创建视图表时,可以先在左侧目录查找需要引用的表结构,再在右侧输入语句。具体建表语句请参考:SQL 语句建表使用指南
  6. 设置 表数据权限。用于控制在任务管理等功能使用该数据表的权限,默认 全部成员。创建者始终拥有该表的数据权限,且不可取消。
    1. 全部成员:即该项目内全部成员都可使用该表。
    2. 指定对象:可根据账号、角色来进行授权。
  7. 点击 提交 按钮。

2.3. 通过上传方式创建

数据表管理支持通过上传 Excel、CSV 文件的方式,创建物理表,同时将 Excel、CSV 中的数据导入到创建的物理表中。

  1. 选择 数据融合 > 通用数据接入 > 数据表管理
  2. 点击右上角 创建数据表,然后选择 通过上传方式创建
  3. 上传 Excel 或 CSV 文件。 文件相关的限制:
    1. 支持 Excel 和 CSV 文件,单个 Excel/CSV 文件大小限制在 100M 以内。
    2. 默认第一行为表头,CSV 文件默认以逗号为分隔符。
    3. 请上传有标准行列的一维数据表格(有合并单元格的数据请处理过后再上传)。
    4. 最多支持上传 5 个文件,最多支持选择 20 个 Sheet。
  4. 选择需要导入的 sheet。
  5. 点击 下一步 按钮进行 数据预览。仅预览表格的前 100 条数据,若表格数据小于 100 条,则预览全部数据。在数据预览页面,可以修改表名、列名、列的数据类型、标记主键。
    1. 修改表名:表名称以英文开头,默认仅支持小写字母、数字、下划线、不支持其他字符,且不能与系统中已有表以及即将创建的表重名。
    2. 列名:不能为空,不能超过 100 个字符,以英文开头,默认仅支持小写字母、数字、下划线、不支持其他字符。
    3. 列的数据类型:支持 <布尔 Bool>、<整型 Int>、<长整型 BigInt>、<数值 Number>、<字符串 String>、<时间戳 Timestamp>、<集合 List> 类型,切换数据类型后,自动按照该类型重新刷新预览,若数据类型转换失败,则预览展示为空。
    4. 标记主键:仅支持选择 <字符串 String>、<长整型 BigInt>、<整型 Int>类型标记为主键,且最多支持设置 3 个字段作为联合主键。
  6. 点击 提交 按钮。提交后,系统会创建对应名称的数据表,并且会将相关数据导入到对应的数据表中。稍后,会在消息通知提醒具体的创建状态。

3. 更新数据表

支持两种方式更新数据表中的数据:

3.1. 使用「任务管理」模块进行更新

详细说明见 《数据同步(原任务管理)》文档说明

3.2. 使用上传 Excel / CSV 文件方式进行更新

不带分区的物理表支持使用 Excel / CSV 文件进行数据的更新

此功能在 SDH 组件 1.3.1 版本及以上支持

  1. 点击进入数据表详情页,如果当前表是不带分区的物理表,页面右上角会展示 更新数据 按钮
  2. 鼠标点击 更新数据 按钮, 可选 追加数据替换数据
    1. 追加数据:当前表为主键表,数据将依据主键进行更新或新增;当前表若为非主键表,数据将直接追加在原有数据后
    2. 替换数据:系统会将当前表中原有数据删除,再进行数据的新增
  3. 选择要上传的 Excel 或 CSV 文件
  4. 点击 下一步 按钮进行字段的映射配置
  5. 点击 提交 按钮,系统执行数据更新任务,完成后会通过消息中心提醒

4. 数据表管理

4.1. 数据表列表

选择 数据融合 > 通用数据接入 > 数据表管理 即可查看数据表列表,在列表顶部,可以通过表名、显示名、所属 DB、表类型、所属引擎、来源类别进行筛选和搜索。同时可在列表顶部获取 JDBC 连接信息(私有部署版本)。

4.2. 数据表详情

在数据表列表中,点击 表名称 或操作列的 查看 按钮,即可查看表详情。在表详情里,会展示和表相关的详细信息。

  • 基本信息
    • 基础信息 
      • 表名称:单个 DB 内名称唯一。
      • 表显示名:单个 DB 内显示名唯一,支持中文。
      • 来源类别:说明数据表的来源方,如自定义表、用户表、事件表、标签、分群等。
      • 业务方显示状态:用于控制该数据表在不同业务方的显示和隐藏,目前可以调整数据表在 指标平台业务集市 中的展示状态。业务方可能包含其他过滤条件,具体可参考相关业务方的说明文档。
      • 所属 DB:表归属的数据库。
      • 所属引擎:只有物理表包含 所属引擎 信息,视图表该字段会显示为 - ,包含的引擎说明如下:
        • 主键表:携带主键的物理表。
        • 非主键表:非时序、无主键的物理表。
        • :没有引擎信息的视图表。
      • 表类型:包含物理表、视图表。
      • 创建人:数据表的创建人。
      • 创建时间:数据表的创建时间。
      • 最后更新人:表最后一次被发起变更后的操作人。
      • 最后更新时间:表最后一次被发起变更后的操作时间。
    • 权限设置
      • 表数据权限:拥有该权限,可在任务管理等功能使用该数据表,创建人始终拥有该表的数据权限。拥有 管理数据表 权限的账号,可以修改相应表的授权;可修改为「全部对象」可用该表,或根据账号、角色来进行授权。
  • 表结构
    • 字段信息
      • 字段名:单个表内名称唯一。
      • 字段显示名:单个表内名称唯一,支持中文。
      • 数据类型:字段自身的数据类型。
      • 唯一键字段:标记了唯一键字段,可用于创建数据表之间的关联关系,支持设置联合唯一键。
      • 主键字段:标记了主键字段,支持设置联合主键。
    • 分区字段信息:与字段信息相似,对于设置了分区的非主键表,会在此展示分区字段对应的字段名、字段显示名、字段类型。
    • SQL 逻辑配置:对于通过 SQL 创建的数据表,会在此展示对应的 SQL 语句。
  • 数据预览
    • 有该表数据权限的用户可对数据进行预览
    • 支持预览 100 条数据
  • 关联任务
    • 任务 ID:对应任务的 ID 信息。
    • 任务名称:点击可打开新标签页并跳转至对应任务的详情页。
    • 任务类型:包含同步任务和SQL 任务。
    • 执行状态:展示任务的状态。
    • 执行频率:展示任务执行频率。
    • 创建人:任务创建人。
    • 创建时间:任务创建时间,支持排序,默认按创建时间由近及远排列。
    • 操作
      • 查看:点击可打开新标签页并跳转至对应任务的详情页。

对于关联任务:

  • 如当前没有关联任务,展示表格空状态 暂无关联任务
  • 仅展示任务管理中的任务。
  • 如任务被删除,则不再展示在该列表中。

4.3. 编辑数据表

只有拥有 管理数据表 的权限,且管理范围包括当前表时,可以编辑数据表。

点击数据列表操作列的 编辑 按钮或者数据表详情页右上角的 编辑 按钮,均可进入编辑页面。

您可以对以下内容进行编辑:

  • 基础信息
    • 表显示名
    • 业务方显示状态
  • 表结构信息
    • 字段显示名
    • 唯一键字段
  • 权限设置
    • 表数据权限

4.4. 删除

点击数据表列表操作列的 删除 按钮即可删除当前数据表。删除数据表时,会判断该数据表的血缘,若数据表无其他资源引用,则可以删除。若数据表被维度关联关系等资源引用,则不能删除。

关于数据表的删除

来源类别为 标签分群 是标签管理、分群管理功能产生的数据表,在 数据表 管理中无法删除,如需删除,请前往对应的功能模块进行操作。

5. 权限

数据表管理 模块涉及两个层面的权限控制:

  • 功能权限:决定了该用户能否查看和修改数据表的信息,如能否创建、修改、删除数据表。
  • 数据权限:决定了该用户是否能查询该表中的数据。

下面详细进行阐述。

5.1. 功能权限

项目设置 > 角色管理 中,我们可以给相关的角色授予 查看数据表 和 管理数据表 这两个功能权限。

若有 查看数据表 的权限,则可进入 数据表管理 页面查看数据表信息;若无 数据表管理 的权限,则页面不显示 数据表管理 的菜单。

若有 数据表管理 权限,可以创建、管理数据表:

  • 管理数据表的范围是 全部 :可以编辑、删除 数据表管理 页面中所有的表。
  • 管理数据表的范围是 我创建的 :只能编辑、删除创建者为当前账号的数据表。 

5.2.  数据权限

在创建和修改数据表时,可以为表设置数据权限,可赋给全部成员或指定用户或指定角色数据权限。

权限关联影响
拥有表的数据权限
  • 分析 > 自定义查询 模块下,可以通过 SQL 查询对应表中的数据。
  • 在 数据融合 > 通用数据接入任务管理 模块中,可以选择对应的表作为数据源或写入目标。
没有表的数据权限
  • 分析 > 自定义查询 模块下,无法查看到该表,也无法使用 SQL 查询对应表中的数据。
  • 数据融合 > 通用数据接入任务管理 模块中,数据源或写入目标中无法查看到该表。