最近更新时间:2023.05.25 11:11:16
首次发布时间:2021.12.07 12:02:36
用户可在完成数据连接之后,即可进行数据集的创建,可以支持直接使用原表创建数据集、多表 join/union 生成数据集,一些复杂逻辑可以使用自定义 SQL 生成数据集,以下介绍如何通过数据表/自定义 SQL 创建数据集。
(1)点击数据准备->数据集,点击左侧加号,选择「新建数据集」
(2)从已有数据连接中选择目标数据源,或者直接从头新建数据连接
(3)从已有数据连接新建,先从数据连接中选择目标连接,点击确认;如新建数据连接,先按照数据接入说明操作,操作完成之后直接进入到下一步进行模型配置
(4)在模型配置页面上,先选中左侧的自定义SQL或者数据库中的表,然后通过鼠标拖拽的方式将其拖拽到右侧画布中
(5)选择表创建与 SQL 创建
点击左侧数据连接下的「自定义SQL」,拖拽到右侧画布
先点击下图所示 SQL 编辑框上方的「保存」按钮用于保存 SQL 语句;之后点击左上角选择该数据集是抽取/直连的连接方式,然后点击右上方「保存」按钮用于保存该数据集
(6)选择抽取/直连的连接方式,点击保存即可
模型配置 | 数据源类型支持限制 | 数据库语法限制 | |
---|---|---|---|
表创建 | 单表、JOIN/UNION | 所有数据源均可支持表创建 | 无限制 |
SQL 创建 | 单表 | 仅数据库来源支持,详细支持清单见数据连接 | 根据数据库类别,对 SQL 语法有限制,比如数据连接是 MySQL,不支持 Oracle 的语法 |
SQL 语句的创建可以在 SQL 输入框中直接手动输入;也可以在左侧表中选中数据库和数据表,鼠标 hover 到数据表上,可以选择插入表名、插入字段、插入查询语句,实现快速创建 SQL 语句的能力
提供格式化、解析、保存、展示预览、数据预览、字段名称、抽取设置功能
格式化:点击可格式化当前语句,增强 SQL 语句可读性;
解析:校验 SQL 语法,并提示当前语法问题原因;
保存:保存当前语句,修改 SQL 语句之后都建议点击保存,在保存数据集之前都需要点击保存;
展示预览:预览该 SQL 语句的结果
数据预览:在右侧展示左侧 SQL 语句的执行结果,可以在「展示行数」中调整预览行数
字段名称:点击即可直接查看该SQL结果的字段名称和数据类型
数据源限制:目前 ADB2.0、ADB3.0、DB2、 Phoenix、Vertica、Teradata、PostgreSQL、Greenplum 不支持参数配置,其他能创建自定义 SQL 的数据源都支持该设置
用户如果需要每次数据同步多天,比如指定同步第 1、3、7 天前的数据到该数据集中,则需要使用自定义 SQL 来创建数据集。
操作方法
(1)按照上述说明创建一个自定义 SQL 数据集
(20点击上方同步设置进入同步设置页面,点击高级设置
(3)在高级设置中有同步多天的开关,选择开启同步多天,同时下方有同步多天参数设置的提示
(4)开同步多天后,返回模型配置页面,按照书写规范编写 SQL 即可,之后按照正常创建数据集的步骤配置完保存即可
功能说明
在自定义 SQL 面板中,点击左下角的变量说明即可看到默认变量的提示,即该自定义 SQL 中可以引入日期变量实现动态日期查询
${DATE} 业务时间日期,格式为:yyyy-MM-dd,如:2015-05-1
${date} 业务时间日期,格式为:yyyyMMdd,如:20150526
${DATE+n} or ${DATE-n}:以DATE为锚点往后(+)或者向前(-)n天
${date+n} or ${date-n}:以date为锚点往后(+)或者向前(-)n天
SQL 书写规范
SQL 语句中必须指定 date字 段且命名为 p_date分区字段(放最后)
在 where 语句中明确同步要求
示例1 :
同步第1天以及第7天前数据
select user_id,country,city,gender, date as p_date #指定分区字段 from table A where date in ('${date-1}','${date-7}') #指定同步第1天及第7天前数据
示例2 :
同步最近7天数据
select user_id,country,city,gender, date as p_date #指定分区字段 from table A where date >= ${date-7} #指定同步最近七天数据
注意事项
如果是已经创建完成的数据集,开启同步多天后点击同步可能会出现一直等待依赖的情况
中途开启同步多天需要确保数据集已经有超过同步多天范围的分区
例:同步多天设置同步前 30 天,但是当前数据集仅同步过过去 7 天的分区,这时开启同步多天会一直等待依赖
解决方法:先关闭同步多天,回溯至少过去 30 天分区的数据,之后再开启同步多天
注意:如果是直接表创建抽取的数据集,关闭同步多天后记得回到模型配置中修改分区设置,因为开同步多天后,分区那边会自动修改,关闭同步多天后后分区字段会保持同步多天的设置,如果不手动修改则会导致变成数据集一个分区同步上游表 N 个分区的数据