管理DLI全局变量
什么是全局变量
DLI支持在管理控制台设置全局变量,将作业开发过程中频繁使用的变量设置为全局变量,可以避免在编辑作业过程中重复定义,减少开发与维护成本。通过使用全局变量可以替换长难复杂变量,简化复杂参数,提升SQL语句可读性。
本节操作为您介绍如何创建全局变量。
创建全局变量
- 在DLI控制台左侧导航栏中单击“全局配置 > 全局变量”。
- 在“全局变量”页面,单击右上角“创建变量”,可创建新的全局变量。
图1 创建全局变量
表1 全局变量参数说明 参数名称
描述
变量名称
所创建的全局变量名称。
变量值
全局变量的值。
- 创建全局变量之后,在SQL语法中使用“{{xxxx}}”代替设置为全局变量的参数值即可,其中“xxxx”为变量名称。例如,在建表语句中,设置表名为全局变量abc,即可用{{abc}}代替实际的表名。
create table {{table_name}} (String1 String, int4 int, varchar1 varchar(10)) partitioned by (int1 int,int2 int,int3 int)
不推荐在建表语句的OPTIONS关键字中使用全局变量。
相关操作:
- 修改全局变量
在“全局变量”页面,单击变量“操作”列中的“修改”,可修改对应的变量值。
如果同账号同项目下存在多个相同名称的全局变量时,需要将多余相同名称的全局变量删除,保证同账号同项目下唯一,此时具备该全局变量修改权限的用户均可以修改对应的变量值。
- 删除全局变量
在“全局变量”页面,单击变量“操作”列中的“删除”,可删除对应的变量。
- 如果同账号同项目下存在多个相同名称的全局变量,优先删除用户自建的。如果仅存在唯一名称的全局变量,则具备删除权限即的用户均可删除该全局变量。
- 变量删除后,SQL中将无法使用该变量。
- 修改全局变量
全局变量权限管理
针对不同用户,可以通过权限设置分配不同的全局变量,不同用户之间互不影响。管理员用户和全局变量的所有者拥有所有权限,不需要进行权限设置且其他用户无法修改其全局变量权限。
给新用户设置全局变量权限时,该用户所在用户组的所属区域需具有Tenant Guest权限。关于Tenant Guest权限的介绍和开通方法,详细参见《权限策略》和《统一身份认证服务用户指南》中的创建用户组。
- 全局变量用户授权
- 单击“全局配置 > 全局变量”页面,单击全局变量“操作”列中的“权限设置”,进入“用户权限信息”页面,可以对用户进行全局变量的授权、设置权限和回收权限。
- 单击页面右上角“授权”可对用户进行全局变量授权。
图2 全局变量授权
- 设置全局变量权限
单击对应子用户“操作”列中的“权限设置”可修改该用户的权限。详细权限描述如表2所示。
当“权限设置”中的选项为灰色时,表示您不具备修改此全局变量的权限。可以向管理员用户、组所有者等具有赋权权限的用户申请“全局变量”权限。
- 回收全局变量权限
单击对应子用户“操作”列中的“回收”将删除该用户的权限。该子用户将不具备该全局变量的任意权限。