组件管理
该功能仅旗舰版支持
概述
组件的定义
组件管理是离线开发提供的针对某些可重复引用的SQL代码模版进行统一管理的功能。
组件是一种带有多个输入参数和输出参数的SQL代码过程模板,SQL代码过程的处理过程通常是引入1到多个源数据表,通过过滤、连接和聚合等操作,加工出新的业务需要的目标表。
组件的价值
在业务实践中,有大量的SQL代码过程很类似,过程中输入表和输出表的结构一致,或是类型兼容而名称不同。此时,组件的开发者可以抽象SQL过程为一个SQL组件节点,抽象可变的输入表为输入参数,输出表为输出参数,即可实现SQL代码的复用。
在使用SQL组件节点时,只需要从组件列表中选择逻辑与需要建的任务完全一致的组件,为这些组件配置上自己业务中特定的输入表和输出表,不用再重复复制代码,就可以直接生成新的组件SQL节点。从而极大地提升开发效率,避免重复开发。SQL组件节点生成后的发布与调度的操作方法都和普通的SQL节点一样。
组件的创建
新建组件入口
在「数据开发」模块,点击左侧的「组件管理」面板,右键点击任一目录文件夹或左键点击目录右上角「更多」菜单,均可直接进行组件的创建。
点击「新建组件」按钮后,填写弹出框中的各配置项:
1.组件名称:填写组件名称,不超过128个字符空格除外。
2.组件类型:目前仅支持Spark SQL和Hive SQL,不支持其他但组件类型。
3.存储位置:此资源在页面左侧的组件管理存储结构中的位置。
4.描述:对此组件的描述不超过256个字符。
组件的克隆
在「数据开发」模块,右键点击已创建的组件,可以进行组件的克隆,
点击「克隆」按钮后,填写弹出框的各配置项。
1.组件名称:不可与原组件相同。
2.组件类型:与原组件一致无法更改。
3.存储位置:默认为原组件的位置,可更改。
4.描述:对此克隆的组件的描述不超过256个字符。
组件的SQL配置
编写SQL逻辑的时候,在代码中通过“@@{参数名称}”来标识输入参数和输出参数的传入入口,并且需要在参数配置中手动注明输入参数和输出参数。
使用组件的任务,需要保证该任务所使用的输入输出表参数的字段名称、类型与组件SQL内容一致(或者冗余)组件中支持系统参数和自定义参数配置,在代码中通过“${参数名称}”来标识系统参数和自定义参数的传入入口。
当系统参数和自定义参数在组件中定义完成后,在组件被引用在任务中时是不能更改的。
组件的参数配置
组件的右侧菜单包含「参数配置」,点击后进行参数信息的填写。
1、基本信息:组件名称和描述在此不支持修改,可以右键点击组件目录修改,组件负责人可支持直接修改;
2、输入参数:定义组件输入参数的类型和格式,点击「添加输入参数」,填写弹窗中的相关信息;
(1)参数名称:必填项,1-128字符,仅限英文、数字、下划线组成。
(2)参数类型:必选项,目前支持输入参数类型为“表”或“字符串”。
(3)参数描述:选填项,不超过256字符不限类型。
(4)参数定义:必填项,仅当参数类型选择“表”时出现,用于规范从该输入参数传入的表需要满足的字段名称和字段类型,每行一个字段,字段名称、类型与注释用空格分隔。
3、输出参数:定义组件输出参数的类型和格式,点击「添加输出参数」,填写弹窗中的相关信息;
(1)参数名称:必填项,1-128字符,仅限英文、数字、下划线组成。
(2)参数类型:默认选项为“表”,因字符串的输出无意义,所以不可切换为“字符串”。
(3)参数描述:选填项,0-256字符不限类型。
(4)参数定义:必填项,1-2048字符不限类型,用于规范从该输出参数传入的表需要满足的字段名称和字段类型,每行一个字段,字段名称、类型与注释用空格分隔。
4、系统参数配置和自定义参数配置具体可查看参数配置目录。
组件逻辑测试运行和日志输出
组件支持测试运行和日志输出,点击“数据开发
”后出现弹窗,在弹窗中分别选择输入参数和输出参数对应的表类型参数值,可选的表范围为当前租户下所有项目的hive表。如果输入参数是字符串类型,则需要在弹窗中输入字段值,可填范围为1-128字符。点击确认后开始运行,并在日志的前几行打印输入参数和输出参数内容;
组件的提交
点击右上角的「提交」按钮,会进行以下判断:
1、输入和输出参数是否都>=1个,且SQL代码中的参数与配置的参数是否完全匹配。
2、语法是否正确。
3、最新保存版本是否有测试运行并成功;
当以上三个条件均满足时可以进行组件的提交,并填写描述信息。
组件的发布
在发布管理页面,发布对象选择“组件”,查找对应的组件可以进行“添加”和“打包”操作。
组件发布过程和函数一样,寻找或新建与测试环境相同的组件目录,按同名同类型进行覆盖。发布后,组件的负责人转为生产项目的任一管理员。
组件的使用
任务的创建
在创建Spark SQL和Hive SQL任务(包括工作流中的Spark SQL和Hive SQL子节点)时,弹窗中有一栏可以选择是否使用组件,当选择“是”时,会出现组件选择的下拉框。
组件的可选范围为当前项目下有历史提交记录的所有与任务类型对应的组件。
由组件生成的任务中,SQL代码不支持编辑,组件提交更新版本后使用组件的任务代码会自动更新。但目前组件代码更新后所有使用該组件的任务需要手动提交(可使用批量操作功能按组件进行任务搜索,批量提交),在调度系统中才能生效。
任务的参数设置
点击右侧「任务参数」,需要进行组件输入参数和输出参数的参数设置。参数类型为字符串时,直接在参数设置输入对应值。参数类型为表时,参数设置弹窗中包含选择项目、选择表,以及组件参数与选中的表的字段对比,所选的表需要与组件定义的输入输出参数表表结构一致或冗余。
1、选择项目:必选项,下拉菜单可选范围为当前租户内所有项目,支持模糊搜索。
2、选择表:必选项。下拉菜单可选范围为选中项目下所有表,支持模糊搜索。 选中表后,可查看该表下的字段,点击确认时会校验参数定义中的字段及其类型在选中表中是否已全部匹配,若是,则设置成功。 当系统参数和自定义参数在组件中定义完成后,在组件被引用在任务中时是不能更改的。
3、测试运行:完成参数配置后,点击运行,可以查看测试运行的结果,判断任务运行的情况;
组件的版本管理
点击组件右侧「版本」,查看历史组件提交信息,点击各版本后操作中的「版本比对」可以进行历史代码版本和历史参数配置比对,并支持组件的版本回滚操作。每一次版本提交,版本后都会累加1。版本回滚后,使用該组件的任务同样需要手动提交,任务在调度系统上才会更新。
组件的引用记录
点击组件右侧「引用记录」,查看该组件的任务引用情况,并展示任务名称和负责人等信息。