Skip to main content

关系管理

关系管理

关系,可以将相同或不同实体的多张表通过主键关联后形成关系,创建关系后,可根据关系使用多张表的基础字段创建衍生标签。关系即多张表的关联。

举例:某项目中用户实体与书籍实体,两个实体的源表字段如下:

  • 用户实体源表(user_tabel)
字段名类型注释
idSTRING默认主键
nameSTRING用户名称
sexINT性别
ageTINYINT年龄
register_dateTIMESTAMP注册时间
last_login_dateTIMESTAMP上次登陆时间
total_moneyINT消费额度
member_levelSTRING消费等级
phoneSTRING电话号码
educationSTRING学历水平
characterSTRING性格
incomeSTRING收入
submit_citySTRING城市
professionSTRING职业
channelSTRING渠道
activity_typeSTRING促销
book_idSTRING书籍编号
  • 书籍实体源表(book_tabel)
字段名类型注释
idSTRING书籍编号
bk_nameSTRING书籍名称
cate_lv4_idSTRING书籍分类ID
cate_full_nameSTRING书籍分类全名
page_sizeSMALLINT页面大小
priceSMALLINT书籍价格
isbnSTRING图书ISBN编号
auth_nameSTRING作者名称
store_idSTRING门店ID

用户实体的源表中包含“用户id”、“最近购买书籍”字段,书籍实体包含“书籍id”、“书籍价格”字段,比如要创建“用户最近购买书籍价格”这个衍生标签,便可用关系来进行创建,即是以下SQL。

select a.id, b.price from user_table a join book_tabel b on a.book_id=b.id;
SQLCopied!

关系创建

进入“实体管理-关系管理”页面,点击新增关系按钮,填写关系信息,包含以下内容:

2022 03 10T11 553A03 110Z

  • 选择实体:选择项目下的某个实体,将关系与实体关联起来,便于后续用实体下的关系建衍生标签;
  • 选择关系模型:选择当前项目hive库下的某个已发布的数据模型,若选项中无关系模型,可前往数据模型页面新建;选完关系模型后可直接预览表结构,并为字段配置穷举字典,字典的用途可见 字典管理
    • 自定义:填写名称和内容自定义添加字典,系统将直接保存至字典管理菜单下
    • 引用:引用已在字典管理菜单下创建的字典

2022 03 10T12 053A24 210Z

  • 选择模型主键:选择关系模型中的某个字段做为模型主键,如果使用关系建了标签,需要用该字段和标签大宽表做关联;
  • 模型存储:选择关系模型的存储方式,可选择存储为逻辑关系存储为物理表
    • 存储为逻辑关系:只保存SQL片段,后续应用该关系模型时,直接使用SQL片段;
    • 存储为物理表:将关系模型存储为实际的物理表;
tip

如果需要用关系模型创建大量标签,建议存储为物理表,不建议存为逻辑关系,因为每次查询时需要执行一次这段SQL,查询时间较长。

如果选择「模型存储为物理表」,需要填写以下信息:

  • 表名称:只支持数字、字母、下划线,不超过64个字符,相同项目hive库下的表名称不能重复;
  • 加工任务名称:除空格外,其余字符都支持,不超过64个字符,相同项目下的任务名称不能重复;
  • 任务更新周期:支持天、周、月、小时、分钟更新
  • 更新时间:根据更新周期选择计划的具体更新时间,可参考更新周期

2022 03 10T12 063A39 433Z

  • 上游任务:关系加工任务的上游可以关联外部任务,形成任务依赖。目前支持关联「离线应用」和「标签应用」的任务,选择上游任务后,会形成任务依赖,上游任务运行成功后开始运行下游的关系加工任务
    • 选择租户:单选,选择该集群内的租户
    • 选择应用:单选,可以选择离线应用标签应用
    • 选择项目:单选,如果选了离线应用,可选择所选租户下的某个项目;如果选了标签应用,只能选择当前项目
    • 选择任务:单选,如果是离线应用,可选择所选项目内已提交的任务;如果是标签应用,只能选择某个关系任务

关系编辑

关系创建后,关联的实体、关系模型、模型主键、模型存储方式将无法编辑。

关系删除

关系删除与关系是否被标签引用有关。

  • 若被标签引用:不可删除;
  • 若未被标签引用:可删除;

数据模型

进入“实体管理-关系管理-新增/编辑关系”页面,点击“选择关系模型”右边的“前往数据模型新建”跳转至「数据模型」页面

模型创建

步骤一:点击新建模型按钮,填写模型的基础信息:

  • 模型名称:支持中文、字母、数字和下划线,不超过64个字符;
  • 模型编码:支持字母、数字和下划线;
  • 数据源:选择相关项目的数据源,选项格式为_${项目名称}_tag(Presto),表示标签产品下某个项目的数据源;
  • 备注:描述模型的内容与用途,不超过200个字符;

步骤二:进行表关联,支持设置多张表之间的关联关系

  • schema:选择标签应用的项目hive库,可在标签应用的“项目管理-项目配置-数据源地址”查看数据源信息;
  • 选择表:选择数据源下的某张表进行后续的表关联设置,此处选择的表将被命名为“t0”;
  • 添加关联表:配置关联表及关联键等信息,支持设置多张表之间的关联关系
    • 选择表:选择左表,第一次添加关联表时,只能选择“t0”表;
    • 关联关系:从“left join、right join、inner join”中选择一种关联关系;
    • schema&关联表:选择右表并设置表名;
    • 设置关联键:分别选择左表和右表的字段做为关联键,此处支持添加多个关联键;

步骤三:选择维度,从步骤二添加的关联表中选择建标签时需要使用的字段,用关系模型加工标签时只会返回此处已选择的字段

步骤四:选择度量,对于标签产品来说选择度量和选择维度的效果是一样的

步骤五:设置分区信息,当数据模型需要增量更新时,可设置分区信息;如果不需要增量更新,可不设置

其他操作

  • 发布:用户可以在数据模型页面或模型新增、编辑页进行发布,只有发布后的模型才能被标签应用使用,模型发布后无法进行编辑和删除操作
  • 下线:用户可以在数据模型页面下线模型,标签的关系无法引用已经下线的模型
tip

模型下线后将会对标签应用中的关系产生影响,导致无法正常用关系加工衍生标签,请谨慎下线数据模型。

  • 编辑:只能编辑“已下线”的模型,编辑时的页面与新增页一致,但是无法修改模型编码、数据源、schema、关联表和分区信息
  • 删除:只能删除“已下线”的模型