类似数据库的“视图”概念,包括虚拟视图和物化视图。虚拟视图仅存放视图的定义,实际运行时将相关语句下推到数据库执行。物化视图存放视图执行的结果数据,并定期进行更新,系统支持“加速层”物化和“数据库”物化两种方式。“加速层”物化需耗费系统CPU/内存将视图结果数据物化为列式存储文件,但可以获得查询访问加速能力。“数据库”物化需数据库自身支持物化视图功能(MySQL不支持,PostgreSQL和Oracle等支持)且创建数据库连接时对应账号有数据库“写”权限,它支持在数据库内(in-databse)快速进行物化。

💡数据视图典型应用场景:自定义数据指标表、自定义数据关联宽表、数据集查询加速等。

1. 数据视图入口

进入菜单“数据中心”->“数据视图”,此处支持树状列表方式对数据视图进行管理,包括文件目录组织、信息查看、编辑、立即运行(物化)、删除等。点击右上方【创建视图】按钮,按需选择【工作表创建】或者【SQL创建】。

创建数据视图-1.png

2. 工作表创建视图

工作表创建无需用户编写SQL语句,支持类Excel Web工作表操作方式进行视图创建。主要操作步骤:

2.1 字段选择、规整和过滤

  • 字段选择:进入【工作表创建】视图界面,左侧树状列表依次选择目标数据库、表/视图(已有)、字段,相关字段出现在Web工作表中。
  • 字段规整:点击Web工作表对应字段名称,弹出“列操作面板”,可进行“字段别名”(建议起有意义的中文名称)、字段类型转换(如文本->数值)、字段克隆。
  • 字段过滤:从Web工作表“列操作面板”或左侧树状列表字段操作按钮处选择相关字段作为过滤字段,并设置过滤条件。

创建数据视图2.1.png

2.2 (可选)列变换和分组聚合

  • 列变换:点击Web工作表对应字段名称,弹出“列操作面板”中选择“表达式”,对整列数据进行变换,如Case when条件变换、时间加减、字符串操作等,选择对应“表达式”后弹出“编辑表达式”弹出框,用户填写相关参数或条件即可生成结果表达式,点击【确认】按钮执行列变换。
  • 分组聚合:即SQL的Group by操作,点击Web工作表需要做聚合计算的字段,从弹出“列操作面板”中点击选择sum(分组求和)/count(分组计数)/avg(分组求平均值)/distinct(分组唯一值计数)/min(分组求最小值)/max(分组求最大值)。💡注意Web工作表中其余未选择做聚合计算的字段均作为分组字段。

创建数据视图2.2-1.png

2.3 (可选)多工作表Union/Join

💡Smart DataHub支持多工作表联动进行数据操作,包括1个“主工作表”和至多4个“辅工作表”,操作结果保存在“主工作表”中。数据视图的多工作表操作主要是Join和Union,要求相关工作表位于同一数据库。

  • 添加辅工作表:点击Web工作表下方“主工作表-t0”旁边的【添加】按钮,出现“辅工作表-t1”(类似操作可得到其他辅工作表),重复2.1和2.2步骤对辅工作表数据进行处理。
  • Union/Join操作:鼠标拖动“辅工作表-t1”到“主工作表-t0”,从弹出框选择“上下合并”(Union)或“左右合并”(Join)。选择“上下合并”时注意保持两个工作表字段一致;选择“左右合并”时还需进一步选择“交集”/“并集”/“左合并”/“右合并”,并选择两个工作表Join的关联字段。

创建数据视图2.3-1.png
创建数据视图2.3-3.png

2.4 (可选)字段设置和物化设置

  • 字段设置:点击Web工作表下方的【视图属性】,可进一步对视图字段名称、类型、别名进行编辑,通常Web工作表进行字段规整操作后此步骤可略过。
  • 物化设置:Web工作表下方的【物化加速】打开【是否物化】开关,选择物化方式“加速层”(默认)或“数据库”,填写开始时间和调度间隔,到达相应时间点即可触发视图物化。

创建数据视图2.4-2.png

2.5 保存视图

  • 点击界面右上方【保存】按钮,填写名称和描述(可选),保存视图。

    3. SQL创建视图

    SQL创建需要用户编写SQL语句,支持SQL编辑器语法高亮和提醒功能。

3.1 选择数据库(SQL执行上下文)

  • 进入【SQL创建】视图界面,左侧数据库列表选择一个数据库作为SQL执行上下文。进一步点击还可查看该数据库的表和字段信息。

    3.2 输入SQL语句

  • SQL编辑器中输入SQL语句。

创建数据视图3.2.png

3.3 (可选)查看SQL执行结果

  • 完成SQL语句的输入后,点击SQL编辑器右下方【执行SQL】,“查询结果”处显示执行结果。该步骤可选(特别数据库查询时间较长时),SQL语句有错误时【保存】步骤会报错。

    3.4 (可选)字段设置和物化设置

  • 字段设置:点击SQL编辑器下方的【模型】,【视图属性】中对视图字段名称、类型、别名进行编辑,如果SQL语句已明确(如as语法)此步骤可略过。

  • 物化设置:【物化加速】打开【是否物化】开关,选择物化方式“加速层”(默认)或“数据库”,填写开始时间和调度间隔,到达相应时间点即可触发视图物化。

创建视图3.4-1.png

3.5 保存视图

  • 点击SQL编辑器右下方【保存视图】按钮,填写名称和描述(可选),保存视图。