组件用于将SQL过程抽象为一个SQL模板,实现SQL代码的复用。使用组件前,您需先根据业务需要创建符合业务加工过程的组件。本文为您介绍在数据开发(DataStudio)的组件管理界面,如何创建组件,并进行组件的分享、升级、查看组件引用记录等管理操作。
进入组件管理页面
进入数据开发页面。
登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的 ,在下拉框中选择对应工作空间后单击进入数据开发。
在左侧导航栏单击组件管理,进入组件管理页面。
说明若左侧导航栏不存在组件管理,则可单击左下角的图标,根据模块管理自行添加。
创建并配置组件
以下为您介绍组件开发者如何通过组件管理新建组件,将指定的SQL过程抽象为一个SQL模板。一个组件通常由过程体、输入参数、输出参数组成。过程体用于定义组件功能的实现代码,在过程体中,通过@@{变量名}
格式,将可变的输入表或输入字符串抽象为组件的输入参数,将可变的输出表抽象为组件的输出参数,实现SQL代码的复用。
一个组件可配置多个输入参数和输出参数,具体请根据实际使用进行配置。
创建组件。
在组件管理页面,您可通过如下方式创建组件并输入组件名称。
说明本工作空间成员创建的组件在组件下。
租户成员创建的组件在公共组件下。
配置组件信息。
步骤一:配置过程体
过程体即为组件的实现代码。通过编写抽象的SQL代码(即SQL加工过程),使用
@@{参数名}
格式,引入输入参数和输出参数,将指定的输入表通过输入参数进行加工处理,生成有业务价值的输出表。后续使用组件时,只需配置不同的输入参数和输出参数,便可通过该代码模板生成正确可运行的SQL代码。步骤二:配置输入参数
定义过程体的输入参数,支持Table和String类型,即过程体的输入参数为某表或某字符串,具体如下。
Table:若使用组件加工源表数据时,输出结果类别单一恒定,则请使用该类型。
该类型的主要配置说明如下。
配置项
描述
配置示例
参数定义
用于将输入表的结构进行文本化呈现,其中可包含表的字段、字段类型及字段含义等内容。通过该形式,告知组件使用者,在使用组件时需为输入参数配置与输入表结构参数个数相同,类型兼容的输入表。防止配置的输入表和组件定义的输入表字段个数不一致、字段类型不兼容,导致组件运行时出错。
说明该定义仅为参考,为您提供输出参数配置的帮助指示,并不会即时强制检查。
参数定义的格式建议为:
字段1名 字段1类型 字段1注释 字段2名 字段2类型 字段2注释 …… 字段n名 字段n类型 字段n注释
示例如下:
area_id string ‘区域id’ city_id string ‘城市id’ order_amt double ‘订单金额’
String:若使用组件加工源表数据时,需通过变量控制输入参数的取值,则请使用该类型。
该类型的主要配置说明如下。
配置相关
描述
默认值
该类型支持设置参数默认值,设置后,组件使用过程中默认使用所配置的参数默认值。
场景示例
场景一:组件过程的输出表需输出每个区域前N个城市的销售额,则可设置N为该组件的输入参数,N的取值可通过字符串类型参数进行控制。
场景二:组件过程的输出表需输出省份的销售总额,可设置一个省份字符串参数作为该组件的输入参数,通过指定不同的省份,获取相应省份的销售数据。
步骤三:配置输出参数
定义过程体的输出参数,即组件最终产出表。为便于组件使用者使用组件,您可在输出参数配置中,填写使用该组件后输出表的表结构,供组件使用者参考。
输出参数的主要配置说明如下。
配置项
描述
配置示例
参数定义
用于将输出表的结构进行文本化呈现,其中可包含表的字段、字段类型及字段含义等内容。通过该形式,告知组件使用者,在使用组件时需为输出参数配置与输出表结构参数个数相同,类型兼容的输出表。防止配置的输出表和组件定义的输出表字段个数不一致、字段类型不兼容,导致组件运行时出错。
说明该定义仅为参考,为您提供输出参数配置的帮助指示,并不会即时强制检查。
参数定义的格式建议为:
字段1名 字段1类型 字段1注释 字段2名 字段2类型 字段2注释 …… 字段n名 字段n类型 字段n注释
除此之外,输出参数定义还可根据您所需的处理结果,添加汇总输出结果字段。例如,排名、总收入等。
示例如下:
area_id string ‘区域id’ city_id string ‘城市id’ order_amt double ‘订单金额’ rank bigint ‘排名’
保存并提交组件。
单击图标,保存组件;单击图标,提交组件。组件创建完成后,可在SQL组件节点中引用,帮助您快速生成业务所需的目标表。使用详情请参见引用SQL组件。
分享及查看组件的引用记录
您可根据业务需要分享组件或查看组件的引用记录。
分享组件(序号1):组件发布后,默认为项目组件,即仅支持当前DataWorks工作空间的用户可使用该组件。组件开发者可通过分享组件,将具有全局通用性的组件发布到整个租户内,分享组件并发布后,租户内所有用户均可使用该组件。
查看组件的引用记录(序号2):可查看哪些节点引用了当前组件,用于进行组件变更时提前预估影响。
升级组件
升级操作:组件开发者
组件开发者可根据需要编辑组件代码及相关参数配置,编辑完成后保存提交即可升级为新版本组件,您可在区域3可查看组件各个版本的详情。
组件版本的使用影响:组件使用者
组件升级后,若您的SQL组件节点引用了该组件,则引用时可选择是否使用该组件已升级的最新版本。若无需使用,则继续引用原有版本;若使用,需确认新版本组件对于SQL组件节点的参数配置是否继续生效,并根据新版本组件的说明进行相关调整,编辑完成后进行提交发布。提交发布流程同普通SQL节点。
升级场景示例
组件开发者用户C创建了V1.0版本组件,用户A使用了该V1.0版本组件;随后,用户C将组件升级为V2.0版本。用户A在使用过程中发现该组件已存在最新版本V2.0,则可打开组件,查看不同版本详情,对比后发现新版本组件业务效果更好,则可更新升级到最新的组件版本使用。
后续
组件创建、分享完成后,具有组件使用权限的用户可通过创建SQL组件节点引用组件,详情请参见引用SQL组件。