维度表 事实表 宽表 维表

维表

术语在线—权威的术语知识服务平台 https://www.termonline.cn/word/9735/1#s1

术语基本信息

规范用词: 维表
英语名: dimension table
定义: 对维的属性进行描述的表格。每个维都有一个表与之相关联,称为维表。是对维的属性的描述。
见载: 管理科学技术名词
学科: 管理科学技术_信息管理与知识管理_决策支持系统
公布年度: 2016
1.计算机科学技术名词 (第三版)
规范用词: 维表
英语名: dimension table
定义: 数据仓库环境中描述事实属性的表。
学科: 计算机科学技术_数据库_数据库新技术
公布年度: 2018

 

维度表 事实表 宽表   维表

如何使用云数据库RDSMySQL版连接器_实时计算Flink版-阿里云帮助中心 https://help.aliyun.com/zh/flink/developer-reference/apsaradb-rds-for-mysql-connector

关键字  TEMPORARY 

CREATE TEMPORARY TABLE

 

 

维表独有

参数

说明

数据类型

是否必填

默认值

备注

cache

维表缓存策略。

String

  • 在Flink计算引擎VVR 4.0.6之前版本,缓存策略默认值为NONE。

  • 在Flink计算引擎VVR 4.0.6及以上版本,缓存策略的默认值为ALL。

数据缓存的目的是加速维表的查询,但缓存的数据无法保证是最新的。Flink RDS MySQL连接器支持三种维表数据缓存策略:

  • NONE:无缓存,每条数据都会查询数据库维表。

  • LRU:缓存维表里的部分数据。源表的每条数据都会触发系统先在Cache中查找数据,如果没有找到,则去物理维表中查找。

  • ALL:缓存维表里的所有数据。在Job运行前,系统会将维表中所有数据加载到Cache中,之后所有的维表查找数据都会通过Cache进行。如果在Cache中无法找到数据,则KEY不存在。这个全量的Cache有一个过期时间,过期后后重新加载一遍全量Cache。

    适用于远程表数据量小且MISS KEY(源表数据和维表JOIN时,ON条件无法关联)特别多的场景。

cacheSize

缓存大小。

Integer

100000

  • 当选择LRU缓存策略后,需要设置缓存大小。

  • 当选择NONE或ALL缓存策略时,不必设置缓存大小。

cacheTTLMs

缓存超时时间。

Long

  • 如果cache配置为NONE,则cacheTTLMs可以不配置,表示缓存不超时。

  • 如果cache配置为LRU,则cacheTTLMs为缓存超时时间。默认不过期。

  • 如果cache配置为ALL,则cacheTTLMs为缓存加载时间。默认不重新加载。

单位为毫秒。

maxJoinRows

主表中每一条数据查询维表时,匹配后最多返回的结果数。

Integer

1024

进行Join时,主表输入一条数据,对应维表匹配后返回的结果总数受该参数限制。

如果您可以预估一条数据对应的维表数据最多为n条,则可以设置maxJoinRows='n',以确保实时计算匹配处理效率。

 

 

 

 维表是一种用于表示数据的数据结构,它由多个表组成,每个表代表一个维度,例如日期、时间、地点等。在阿里云实时计算Flink版中,可以使用维表来进行分布式数据处理和计算。

 flink 在是实时同步RDS 数据的时候,可以通过SQL 创建任务作业,在source 端的时候,如果需要表之间的join或者其它操作,会使用到维表,具体要结合您的业务逻辑

 

 支持哪些连接器_实时计算Flink版-阿里云帮助中心 https://help.aliyun.com/zh/flink/developer-reference/supported-connectors

 

源表(Source Table)
维表(Dimension Table)
结果表(Result Table)
 
源表
  • Flink作业的数据输入表,是计算的驱动来源。

  • 不能作为维表,必须作为驱动表来推进后续计算。产生的记录决定了计算链的触发。

  • 通常是需要进行转换计算的大规模业务数据,量级可以达到千万级甚至亿级别。

  • 以流式数据的形式输入,表示连续不断的新数据,可以来自消息队列、数据库变更日志等。

  • 包含需要Join和关联的关键字段,如用户ID、订单ID等业务主键。

维表

  • 辅助表,用于丰富和扩展源表的数据。

  • 不能作为主驱动表,只能辅助补充源表。维表本身不驱动计算。

  • 数据规模通常较小,可以是静态表也可以是低吞吐的流表,数据量级可能在GB到TB级别。

  • 提供对业务数据的额外补充信息,如用户姓名、产品详情、区域信息等。

  • 通过与源表进行Join连接,可以丰富源表的信息,形成更加详细的宽表。

结果表

  • Flink作业输出的结果数据表。

  • 存储着经过计算转换后的最终结果数据,如聚合结果、过滤后的数据等。

  • 可以输出到数据库、消息队列、文件等外部系统,用于后续的分析。

  • 是整个作业处理链的最终产出和输出,存储了计算的输出。

例如,有如下源表和维表:

  • 源表:订单数据表,包含用户ID、订单ID、订单金额等信息。

  • 维表:用户信息表,包含用户ID、用户名、地址等信息。

作业首先从订单数据源表读取实时订单数据,将订单数据流与用户信息静态维表进行Join,然后按地区聚合统计订单总额,最后将统计结果写入结果表。

在这个作业中,订单表作为驱动源表输入,用户信息表作为静态维表,统计结果表作为作业最终输出。订单表不能作为维表,必须作为驱动表输入数据;而用户信息表不能作为驱动表,只能作为辅助维表补充订单数据。

 

 

posted @ 2023-09-21 23:33  papering  阅读(32)  评论(0编辑  收藏  举报