华为云用户手册

  • 操作前准备 配置前,请先购买OBS桶或并行文件系统。 大数据场景推荐使用并行文件系统,并行文件系统(Parallel File System)是 对象存储服务 (Object Storage Service,OBS)提供的一种经过优化的高性能文件系统,提供毫秒级别访问时延,以及TB/s级别带宽和百万级别的IOPS,能够快速处理高性能计算(HPC)工作负载。 并行文件系统的详细介绍和使用说明,请参见《并行文件系统特性指南》。
  • 操作场景 参考创建弹性资源池并添加队列创建完弹性资源池后,您可以将已有的队列关联至弹性资源池,即可将弹性资源池的资源用于后续作业的运行 您可以在弹性资源池页面通过“关联队列”将队列添加到弹性资源池。还可以在队列管理页面分配队列至弹性资源池。 弹性资源池Flink版本只支持1.10及其以上版本,如果准备分配到弹性资源池的作业使用Flink1.7版本可能会出现兼容性问题,需要提前做好Flink版本适配。
  • 使用场景 包年包月的弹性资源池CU数在规格的范围内使用包年包月计费,超过规格的部分则按弹性资源池CU时计费的方式计费,您可以根据实际CU的使用情况通过规格变更来使得计费更优惠。 例如,当前弹性资源池的规格为64CU,实际使用过程中大部分时间CU数在128CU以上,没有规格变更的场景下64CU部分采用包年包月计费,超出的64CU按弹性资源池CU时计费方式计费。为了满足该场景下更优惠的计费,则可以通过规格变更的方式,将弹性资源池的规格扩大到128CU,则规格变更成功后128CU范围内都使用包年包月计费,整体相比原来更优惠。 弹性资源池规格不满足当前业务需求时,可以通过“变更规格”功能修改当前弹性资源池的规格。
  • CU设置时怎样调大CU范围最小值? 弹性资源池CU范围的最小值小于等于弹性资源池的实际CUs,如果想要调整的CU范围的最小值大于当前CUs,需要先调大实际CUs。 以下操作适用于目标CU小于等于CU范围的最大值。目标CU大于CU范围最大值时,请先调大弹性资源池的最大CU。 包年包月计费模式的弹性资源池,通过调整当前弹性资源池中队列的最大CU或增加队列,以增大弹性资源池的实际CUs,再通过变更弹性资源池规格,将规格调整至大于等于目标CUs,此时实际CUs等于规格,再通过CU设置,调整CU范围的最小值等于目标CUs。 按需计费模式的弹性资源池,通过调整当前弹性资源池中队列的最大CU或增加队列,以增大弹性资源池的实际CUs,再通过CU设置,调整CU范围的最小值等于目标CUs。 示例 示例1:包年包月弹性资源池,实际CUs:64CUs、CU范围:64CUs - 96CUs、规格64。计划调整CU范围:80CUs - 96CUs。 操作步骤: 通过调整当前弹性资源池中队列的最大CU或增加队列,以增大弹性资源池的实际CUs。 当弹性资源池队列的最大CU的和大于弹性资源池的实际CUs时,会触发弹性资源池扩容,扩容后的实际CUs= min(队列的最大CU和,弹性资源池CU范围最大值)。 通过“规格变更”将弹性资源池规格调整为80CUs,规格变更后,CU范围的最小值自动调整为与规格一致大小的CU。 示例2:按需计费的弹性资源池,实际CUs:64CUs、CU范围:64CUs - 96CUs。计划调整CU范围:80CUs - 96CUs。 操作步骤: 通过调整当前弹性资源池中队列的最大CU或增加队列,以增大弹性资源池的实际CUs。 当弹性资源池队列的最大CU的和大于弹性资源池的实际CUs时,会触发弹性资源池扩容,扩容后的实际CUs= min(队列的最大CU和,弹性资源池CU范围最大值)。 通过“CU设置”调整CU范围:80CUs - 96CUs。 调整队列的CU范围、弹性资源池规格变更、弹性资源池的CU设置,均在下一个整点生效。 通过增加队列调整弹性资源池的实际CUs,立即生效。
  • CU设置时怎样调小CU范围最大值? 弹性资源池CU范围的最小值小于等于弹性资源池的实际CUs,如果想要调整的CU范围的最大值小于当前CUs,需要先调小实际CUs。 包年包月计费模式的弹性资源池,通过调小当前弹性资源池中队列的最大CU或删除队列,以调小弹性资源池的实际CUs,再通过变更弹性资源池规格,将规格调整至小于等于目标CUs,此时实际CUs等于规格,再通过CU设置,调整CU范围的最小值等于目标CUs。 按需计费模式的弹性资源池,通过调整当前弹性资源池中队列的最大CU或删除队列,以调小弹性资源池的实际CUs,再通过CU设置,调整CU范围的最小值等于目标CUs。 示例 示例1:包年包月弹性资源池,实际CUs:96CUs、CU范围:64CUs - 128CUs、规格96。计划调整CU范围:64CUs - 80CUs。 操作步骤: 通过调小当前弹性资源池中队列的最大CU或删除队列,以调小弹性资源池的实际CUs。 当弹性资源池队列的最大CU的和小于弹性资源池的实际CUs时,会触发弹性资源池缩容,缩容后的实际CUs= min(队列的最大CU和,弹性资源池CU范围最大值)。 通过“规格变更”将弹性资源池规格调整为80CUs,规格变更后,CU范围的最小值自动调整为与规格一致大小的CU。 示例2:按需计费的弹性资源池,实际CUs:96CUs、CU范围:64CUs - 128CUs、计划调整CU范围:64CUs - 80CUs。 操作步骤: 通过调小当前弹性资源池中队列的最大CU或删除队列,以调小弹性资源池的实际CUs。 当弹性资源池队列的最大CU的和小于弹性资源池的实际CUs时,会触发弹性资源池缩容,缩容后的实际CUs= min(队列的最大CU和,弹性资源池CU范围最大值)。 通过“CU设置”调整CU范围:64CUs - 80CUs。 调整队列的CU范围、弹性资源池规格变更、弹性资源池的CU设置,均在下一个整点生效。 通过增加队列调整弹性资源池的实际CUs,立即生效。
  • 弹性扩缩容定时任务使用场景 通常,用户业务繁忙的场景是有周期性的,在某个周期内,用户需要更多的计算资源来处理业务,过了这个周期,则不需要那么多资源。如果用户购买的队列规格比较小,在业务繁忙时会存在资源不足的情况;而如果购买的队列规格比较大,又可能会存在资源浪费的情况。 基于以上场景, DLI 提供了队列弹性扩缩容定时任务功能。用户可以根据自己的业务周期或者使用情况,基于现有队列规格,在不同的时间或者周期内设置不同的队列大小,以满足自己的业务需求,节约成本。 本节操作仅适用于普通队列,不适用于弹性资源池队列。
  • 使用弹性扩缩容定时任务注意事项 新创建的队列需要运行作业后才可进行扩缩容。 目前只支持规格为64CUs以上的队列进行定时弹性扩缩容任务,即队列最小规格为64CUs。 对于每个队列,最多支持创建12个定时任务。 每个定时任务开始时,弹性扩缩容的实际开始的时间有5分钟误差。建议扩容时间定时至少比实际使用队列的时间提前20分钟。 每个定时任务之间需要至少有2小时的间隔。 队列的定时弹性扩缩容属于耗时操作,变更所消耗的时间取决于扩缩容目标规格与当前规格的差值大小,用户在“队列管理”页面中可以查看当前队列的规格。 如果当前队列有作业正在运行时,可能无法缩容到目标CU值,而是缩容到当前队列规格和目标规格中间的某个值,系统将在1小时后继续尝试进行缩容,直至下一个定时任务开始。 当一个定时任务没有扩容或者缩容到目标CU值时,系统会在约15分钟后再次触发扩缩计划,直到下一个定时任务开始。
  • 约束与限制 16CUs队列不支持扩容和缩容。 64CUs队列不支持缩容。 目前只支持计费模式为“按需/CU时”和“按需/专属资源模式”的队列进行弹性扩缩容。 如果在“弹性扩缩容”页面提示“Status of queue xxx is assigning, which is not available”,表示需要等待队列资源分配完毕才可进行扩缩容。 队列资源扩容时,可能会由于物理资源不足导致队列资源无法扩容到设定的目标大小。 队列资源缩容时,系统不保证将队列资源完全缩容到设定的目标大小。通常队列资源缩容时,系统会先检查资源使用情况,判断是否存在缩容空间,如果现有资源无法按照最小缩容步长执行缩容任务,则队列可能缩容不成功,或缩容一部分规格的情况。 因资源规格不同可能有不同的缩容步长,通常是16CUs、32CUs、48CUs、64CUs等。 示例:队列大小为48CUs,执行作业占用了18CUs,剩余30CUs不满足该32CUs步长缩容的要求,如果执行缩容任务,则缩容失败。
  • Flink作业权限操作场景 针对不同用户,可以通过权限设置分配不同的作业,不同用户之间的作业效率互不影响,保障作业性能。 管理员用户和作业的所有者拥有所有权限,不需要进行权限设置且其他用户无法修改其作业权限。 给新用户设置作业权限时,该用户所在用户组的所属区域需具有Tenant Guest权限。关于Tenant Guest权限的介绍和开通方法,详细参见《权限策略》和《 统一身份认证 服务用户指南》中的创建用户组。
  • Flink作业权限使用说明 查看作业详情 租户以及admin用户可以查看和操作所有作业。 子用户以及拥有只读权限的用户只能查看自己的作业。 他人赋权给该子用户查看权限外的任意权限,则该作业仅显示在作业列表中,但不支持该子用户查看作业详情。 启动作业 用户需要同时拥有队列的提交作业权限以及作业的启动作业权限。 停止作业 用户需要同时拥有队列的停止作业权限以及作业的停止作业权限。 删除作业 如果作业在可删除状态,则用户拥有作业的删除权限即可。 如果作业在不可删除状态,用户删除作业时,系统会先停止作业,停止作业权限说明可以参考•停止作业,并且用户还需要拥有作业的删除权限。 创建作业 子用户默认不能创建作业。 创建作业时,用户需要拥有创建作业的权限。目前只有admin用户创建作业的权限,同时用户还需要拥有该作业使用的相关程序包组权限或者程序包权限。 编辑作业 编辑作业时,用户需要拥有更新作业的权限,同时用户还需要拥有该作业使用的相关程序包所属组权限或者程序包权限。
  • DLI请求条件 您可以在创建自定义策略时,通过添加“请求条件”(Condition元素)来控制策略何时生效。请求条件包括条件键和运算符,条件键表示策略语句的 Condition 元素,分为全局级条件键和服务级条件键。全局级条件键(前缀为g:)适用于所有操作,服务级条件键(前缀为服务缩写,如dli)仅适用于对应服务的操作。运算符与条件键一起使用,构成完整的条件判断语句。 DLI通过 IAM 预置了一组条件键。下表显示了适用于DLI服务特定的条件键。 表1 DLI请求条件 DLI条件键 类型 运算符 描述 g:CurrentTime 全局级 Date and time 接收到鉴权请求的时间。 说明: 以“ISO 8601”格式表示,例如:2012-11-11T23:59:59Z。 g:MFAPresent 全局级 Boolean 用户登录时是否使用了多因素认证。 g:UserId 全局级 String 当前登录的用户ID。 g:UserName 全局级 String 当前登录的用户名。 g:ProjectName 全局级 String 当前登录的Project。 g:DomainName 全局级 String 当前登录的Domain。 g:ResourceTag 全局级 StringEquals 资源标签键值。 父主题: 权限管理
  • Flink SQL样例模板 Flink SQL样例模板列表显示已有的Flink SQL样例作业模板,Flink SQL样例模板列表参数说明如表 1所示。 已有样例模板的具体场景以控制台为准。 表1 Flink SQL样例模板列表参数 参数 参数说明 名称 模板名称,只能由英文、中文、数字、中划线和下划线组成,并且长度为1~64个字符。 描述 模板的相关描述,且长度为0~512个字符。 操作 “创建作业”:直接在该模板下创建作业,创建完后,系统跳转到“作业管理”下的作业编辑页面。
  • Flink OpenSource SQL样例模板 Flink OpenSource SQL样例模板列表显示已有的Flink OpenSource SQL样例作业模板,Flink OpenSource SQL样例模板列表参数说明如表 1所示。 表2 Flink OpenSource SQL样例模板列表参数 参数 参数说明 名称 模板名称,只能由英文、中文、数字、中划线和下划线组成,并且长度为1~64个字符。 描述 模板的相关描述,且长度为0~512个字符。 操作 “创建作业”:直接在该模板下创建作业,创建完后,系统跳转到“作业管理”下的作业编辑页面。 当前已有的样例模板包括如下场景: 利用地址信息的维表生成订单信息宽表 实时统计每天成交额、订单数和支付人数等指标 统计实时点击量最高的商品
  • 自定义模板 自定义模板列表显示所有的jar作业模板,自定义模板列表参数说明如表 1所示。 表3 自定义模板列表参数 参数 参数说明 名称 模板名称,只能由英文、中文、数字、中划线和下划线组成,并且长度为1~64个字符。 类型 模板类型。 Flink SQL作业模板 Flink OpenSource SQL作业模板 描述 模板的相关描述,且长度为0~512个字符。 创建时间 创建模板的时间。 更新时间 最后修改模板的时间。 操作 “编辑”:对已经创建好的模板进行修改。 “创建作业”:直接在该模板下创建作业,创建完后,系统跳转到“作业管理”下的作业编辑页面。 更多: “删除”:将已经创建的模板删除。 “标签”:查看或添加标签。
  • DLI自定义策略样例 示例1:允许 授权用户拥有在所有区域中所有数据库的创建表权限。 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "dli:database:createTable" ], "Resource": [ "dli:*:*:database:*" ] } ] } 授权用户拥有在所在区域中数据库db中表tb中列col的查询权限。 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "dli:column:select" ], "Resource": [ "dli:xxx:*:column:databases.db.tables.tb.columns.col" ] } ] } 示例2:拒绝 拒绝策略需要同时配合其他策略使用,即用户需要先被授予部分操作权限策略后,才可以在权限内设置拒绝策略,否则用户无任何权限的情况下,拒绝策略无实际作用。 用户被授予的策略中,一个授权项的作用如果同时存在Allow和Deny,则遵循Deny优先。 授权用户不能创建数据库,删除数据库,提交作业(default队列除外),删除表。 { "Version": "1.1", "Statement": [ { "Effect": "Deny", "Action": [ "dli:database:createDatabase", "dli:database:dropDatabase", "dli:queue:submitJob", "dli:table:dropTable" ], "Resource": [ "dli:*:*:database:*", "dli:*:*:queue:*", "dli:*:*:table:*" ] } ] } 授权用户不能在队列名为demo的队列上提交作业。 { "Version": "1.1", "Statement": [ { "Effect": "Deny", "Action": [ "dli:queue:submitJob" ], "Resource": [ "dli:*:*:queue:queues.demo" ] } ] } 示例3:标签鉴权,指定action绑定Condition,指定g:ResourceTag的key和value。 Condition g:ResourceTag使用表示带有标签key=value的资源,并且资源操作在策略action中包含的可以鉴权通过。 key不区分大小写,并且目前不支持value的模糊匹配。 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "dli:database:dropDatabase", "dli:table:select", "dli:database:createTable", "dli:table:dropTable" ], "Condition": { "StringEquals": { "g:ResourceTag/key": [ "value" ] } } } ] }
  • 策略字段介绍 以授权用户拥有在所有区域中所有数据库的创建表权限为例进行说明: { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "dli:database:createTable" ], "Resource": [ "dli:*:*:database:*" ] } ] } Version 版本信息,1.1: 策略。IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。 Effect 作用。包含两类:允许(Allow)和拒绝(Deny),既有Allow又有Deny的授权语句时,遵循Deny优先的原则。 Action 授权项,指对资源的具体操作权限,不超过100个,如图1所示。 图1 DLI授权项 格式为:服务名:资源类型:操作,例:dli:queue:submit_job。 服务名为产品名称,例如dli、evs和vpc等,服务名仅支持小写。资源类型和操作没有大小写,要求支持通配符号*,无需罗列全部授权项。 资源类型可以参考表4中的资源类型。 操作:操作以IAM服务中已经注册的action为准。 Condition 限制条件:使策略生效的特定条件,包括条件键和运算符。 条件键表示策略语句的 Condition 元素中的键值,分为全局级条件键和服务级条件键。 全局级条件键(前缀为g:)适用于所有操作。详细请参考策略语法中的条件键说明。 服务级条件键,仅适用于对应服务的操作。 运算符与条件键一起使用,构成完整的条件判断语句。具体内容请参考表1。 DLI通过IAM预置了一组条件键。下表显示了适用于DLI服务特定的条件键。 表1 DLI请求条件 DLI条件键 类型 运算符 描述 g:CurrentTime 全局级 Date and time 接收到鉴权请求的时间。 说明: 以“ISO 8601”格式表示,例如:2012-11-11T23:59:59Z。 g:MFAPresent 全局级 Boolean 用户登录时是否使用了多因素认证。 g:UserId 全局级 String 当前登录的用户ID。 g:UserName 全局级 String 当前登录的用户名。 g:ProjectName 全局级 String 当前登录的Project。 g:DomainName 全局级 String 当前登录的Domain。 g:ResourceTag 全局级 StringEquals 资源标签键值。 Resource 格式为:服务名:region:domainId:资源类型:资源路径, 通配符号*表示所有,资源类型和资源路径可以参考表4。 示例: "dli:*:*:queue:*": 表示所有的队列。
  • 为已有权限的用户或项目修改权限 某用户或项目已具备此表的一些权限时,可为此用户或项目赋予或回收权限。 当“权限设置”中的选项为灰色时,表示您不具备修改此表的权限。可以向管理员用户、表所有者等具有赋权权限的用户申请表的“赋权”和表权限的“回收”权限。 在“用户权限信息”列表中找到需要设置权限的用户: 如果用户为子用户且不是表的所有者,可进行“权限设置”。 若用户为管理员用户或表的所有者,只能查看“权限信息”。 在“项目权限信息”列表中找到需要设置权限的项目,进行“权限设置”。 在子用户或项目的“操作”栏中单击“权限设置”,可弹出表“权限设置”对话框。 DLI表用户或项目权限说明请参考表1。 OBS表用户或项目权限说明请参考表2。 View用户或项目权限说明请参考表3。 单击“确定”,完成表权限设置。
  • 回收某用户或项目具备的所有权限 回收某用户具备的所有权限,或回收某项目具备的所有权限。 在“用户权限信息”区域的用户列表中,选择需要回收权限的子用户,在“操作”栏中单击“回收”,确定后,此用户将不具备表的任意权限。 以下情况中,“回收”为灰色,表示不可回收该用户的权限。 用户为管理员用户 子用户是表的所有者 子用户只有可继承权限 在“项目权限信息”区域的项目列表中,选择需要回收权限的项目,在“操作”栏中单击“回收”,确定后,此项目将不具备表的任意权限。 当项目只有可继承权限时,“回收”为灰色,表示不可回收该项目的权限。
  • 注意事项 如果需要查看主账号下数据库中的表,需要对当前子账号用户授权(显示权限),具体请参考常用操作与系统权限关系。 如果表被删除后,再重新创建同名的表,表权限不会继承,需要对操作该表的用户和项目重新进行权限赋予。 例如,testTable表给用户A赋予了删除表的权限,后续执行了删除testTable表,并重新创建了testTable表。如果希望A用户继续保留删除testTable表的权限,则需要重新对A用户赋予该权限。
  • 为新用户或项目赋予权限 为新用户或项目赋予权限,新用户或项目指之前不具备此表任何权限的用户或项目。 单击表权限管理页面右上角的“授权”按钮。 在弹出的“授权”对话框中选择相应的权限。 DLI表具体权限说明请参考表1。 图2 DLI表用户授权 图3 DLI表项目授权 表1 参数配置 参数 描述 授权对象 选择“用户授权”或“项目授权”。 用户名/项目 选择“用户授权”时,输入表新增用户对应IAM用户名称。 说明: 该用户名称是已存在的IAM用户名称且该用户登录过DLI管理控制台。 选择“项目授权”时,选择当前区域下需要授权的项目。 说明: 选择“项目授权”时,只能查看被授权的表及其所在数据库的信息。 非继承权限 选中权限即对用户或项目进行赋权,取消勾选即对用户权限或项目权限进行收回。 同时适用于“用户授权”和“项目授权”的权限包括: 查询表:在当前表内查询数据。 显示表信息:显示当前表的信息。 显示创建表语句:显示当前表的创建语句。 删除表:删除当前表。 重命名表:对当前表重新命名。 插入:在当前表内插入数据。 重写:在当前表内插入覆盖数据。 添加列:在当前表中增加列。 赋权:当前用户可将表的权限赋予其他用户。 回收:当前用户可回收其他用户具备的此表的权限,并且不能回收表所有者的权限。 查看其他用户具备的权限:查看其他用户具备的当前表的权限。 分区表还具有以下权限: 删除分区:删除分区表中的分区。 显示所有分区:显示分区表中的所有分区。 只适用于“用户授权”的权限包括: 显示表:显示当前表。 OBS表具体权限说明请参考表2。 图4 OBS表用户授权 图5 OBS表项目授权 表2 参数配置 参数 描述 授权对象 选择“用户授权”或“项目授权”。 用户名/项目 选择“用户授权”时,输入表新增用户对应IAM用户名称。 说明: 该用户名称是已存在的IAM用户名称且该用户登录过DLI管理控制台。 选择“项目授权”时,选择当前区域下需要授权的项目。 说明: 选择“项目授权”时,只能查看被授权的表及其所在数据库的信息。 非继承权限 选中权限即对用户或项目进行赋权,取消勾选即对用户权限或项目权限进行收回。 同时适用于“用户授权”和“项目授权”的权限包括: 显示创建表语句:显示当前表的创建语句。 显示表信息:显示当前表的信息。 查询表:在当前表内查询数据。 删除表:删除当前表。 重命名表:对当前表重新命名。 插入:在当前表内插入数据。 重写:在当前表内插入覆盖数据。 添加列:在当前表中增加列。 赋权:当前用户可将表的权限赋予其他用户或项目。 回收:当前用户或项目可回收其他用户或项目具备的此表的权限,并且不能回收表所有者的权限。 查看其他用户具备的权限:查看其他用户具备的当前表的权限。 分区表还具有以下权限: 添加分区:在分区表中添加新的分区。 删除分区:删除分区表中的任意分区。 设置分区的路径:将分区表中的某个分区路径设置为用户指定的OBS路径。 重命名表分区:对分区表中的分区重新命名。 恢复表分区:从文件系统中导出分区信息保存到元数据中。 显示所有分区:显示分区表中的所有分区。 只适用于“用户授权”的权限包括: 显示表:显示当前表。 View具体权限说明请参考表3。 View只能通过SQL语句进行创建,不能通过“创建表”页面进行创建。 图6 View用户授权 图7 View项目授权 表3 参数配置 参数 描述 授权选择 选择“用户授权”或“项目授权”。 用户名/项目 选择“用户授权”时,输入表新增用户对应IAM用户名称。 说明: 该用户名称是已存在的IAM用户名称且该用户登录过DLI管理控制台。 选择“项目授权”时,选择当前区域下需要授权的项目。 说明: 选择“项目授权”时,只能查看被授权的表及其所在数据库的信息。 非继承权限 选中权限即对用户或项目进行赋权,取消勾选即对用户权限或项目权限进行收回。 同时适用于“用户授权”和“项目授权”的权限包括: 显示表信息:显示当前表的信息。 显示创建表语句:显示当前表的创建语句。 删除表:删除当前表。 查询表:在当前表内查询数据。 重命名表:对当前表重新进行命名。 赋权:当前用户或项目可将表的权限赋予其他用户或项目。 回收:当前用户或项目可回收其他用户或项目具备的此表的权限,并且不能回收表所有者的权限。 查看其他用户具备的权限:查看其他用户具备的当前表的权限。 只适用于 显示表:显示当前表。 单击“确定”,完成表权限设置。
  • 为已有权限的用户或项目修改权限 某用户或项目已具备此数据库的一些权限时,可为此用户或项目赋予或取消权限。 当“权限设置”中的选项为灰色时,表示对应账号不具备修改此数据库的权限。可以向管理员用户、数据库所有者等具有赋权权限的用户申请数据库的“赋权”和数据库权限的“回收”权限。 在“用户权限信息”列表中找到需要设置权限的用户: 如果用户为子用户,可进行“权限设置”。 如果用户为管理员用户,只能查看“权限信息”。 在“项目权限信息”列表中找到需要设置权限的项目,进行“权限设置”。 在子用户或项目的“操作”栏中单击“权限设置”,可弹出数据库“权限设置”对话框。 数据库用户或项目详细的权限描述请参考表1。 单击“确定”,完成权限设置。
  • 回收某用户或项目具备的所有权限 回收某用户具备的所有权限,或回收某项目具备的所有权限。 在“用户权限信息”区域的用户列表中,选择需要回收权限的子用户,在“操作”栏中单击“回收”,在“回收用户权限”对话框中单击“确定”后,此用户将不具备数据库的任意权限。 用户为管理员用户时,“回收”为灰色,表示不可回收该用户的权限。 在“项目权限信息”区域的项目列表中,选择需要回收权限的项目,在“操作”栏中单击“回收”,在“回收项目权限”对话框中单击“确定”后,此项目将不具备数据库的任意权限。
  • 为新用户或项目赋予权限 为新用户或新项目赋予权限,新用户或新项目指之前不具备此数据库权限的用户或项目。 在数据库权限管理页面右上角单击“授权”。 在“授权”弹出框中,选择“用户授权”或“项目授权”,填写需要授权的用户名或选择需要授权的项目,选择相应的权限。具体权限说明请参考表1。 图1 数据库用户授权 图2 数据库项目授权 表1 参数说明 参数 描述 授权对象 选择“用户授权”或“项目授权”。 用户名或项目名 选择“用户授权”时,输入数据库新增用户对应的IAM用户名称。 说明: 该用户名称是已存在的IAM用户名称且该用户登录过DLI管理控制台。 选择“项目授权”时,选择当前区域下需要授权的项目。 说明: 选择“项目授权”时: 如果赋权选择不可继承权限,则在该项目中无法查看对应数据库中表的信息。 如果赋权选择可继承权限,则在该项目中可查看该数据库内所有表的信息。 非继承权限 选中权限即对用户或项目进行赋权,取消勾选即对用户权限或项目权限进行回收。 非继承权限只作用于当前数据库。 同时适用于“用户授权”和“项目授权”的权限包括: 删除数据库:删除当前数据库。 创建表:在当前数据库创建表。 创建视图:在当前数据库创建视图。 将SQL语句解释为执行计划:执行explain语句。 创建角色:在当前数据库创建角色。 删除角色:删除当前数据库中的角色。 显示角色:显示当前用户的角色。 绑定角色:在当前数据库绑定角色。 解除角色绑定:在当前数据库解除角色绑定。 显示所有角色和用户的绑定关系:显示所有角色和用户的绑定关系。 创建函数:在当前数据库创建函数。 删除函数:删除当前数据库中的函数。 显示所有函数:显示当前数据库中的所有函数。 显示函数详情:显示当前函数详情。 只适用于“用户授权”的权限包括: 显示所有表:显示当前数据库下的所有表。 说明: 没有授权“显示所有表”权限,则该数据库在库表管理中不显示该数据库下的所有表。 显示数据库:显示当前数据库的信息。 说明: 没有授权“显示数据库”权限,则该数据库在库表管理中不显示。 继承权限 选中权限即对用户进行赋权,取消勾选即对用户权限进行回收。 继承权限可作用到当前数据库及其所有的表上,但是表中的列只能继承其中的查询权限。 以下权限同时适用于“用户授权”和“项目授权”。 删除表:删除数据库下的表。 查询表:在当前表内查询。 显示表信息:显示当前表的信息。 插入:在当前表内插入数据。 添加列:在当前表中增加列。 重写:在当前表内插入覆盖数据。 赋权:用户可将数据库的权限赋予其他用户或项目。 回收:用户可回收其他用户或项目具备的此数据库的权限,但是不能回收数据库所有者的权限。 添加分区:在分区表中添加新的分区。 删除分区:删除分区表中已有的分区。 设置分区的路径:将分区表中的某个分区路径设置为用户指定的OBS路径。 重命名表分区:对分区表中的分区重新命名。 重命名表:对表重新命名。 恢复表分区:从文件系统中导出分区信息保存到元数据中。 显示所有分区:显示分区表中的所有分区。 查看其他用户具备的权限:查看其他用户或项目具备的当前数据库的权限。 单击“确定”,完成授权。
  • 监控指标 表1 数据湖探索 服务支持的监控指标 指标ID 指标名称 指标含义 取值范围 测量对象 监控周期(原始指标) queue_cu_num 队列CU使用量 展示用户队列申请的CU数 ≥0 队列 5分钟 queue_job_launching_num 提交中作业数 展示用户队列中状态为提交中的作业数。 ≥0 队列 5分钟 queue_job_running_num 运行中作业数 展示用户队列中状态为运行中的作业数。 ≥0 队列 5分钟 queue_job_succeed_num 已完成作业数 展示用户队列中状态为已完成的作业数。 ≥0 队列 5分钟 queue_job_failed_num 已失败作业数 展示用户队列中状态为已失败的作业数。 ≥0 队列 5分钟 queue_job_cancelled_num 已取消作业数 展示用户队列中状态为已取消的作业数。 ≥0 队列 5分钟 queue_alloc_cu_num 队列CU分配量 展示用户队列的CU分配情况。 ≥0 队列 5分钟 queue_min_cu_num 队列最小CU 展示用户队列中的最小CU。 ≥0 队列 5分钟 queue_max_cu_num 队列最大CU 展示用户队列中的最大CU。 ≥0 队列 5分钟 queue_priority 队列优先级 展示用户队列的优先级。 1~100 队列 5分钟 queue_cpu_usage 队列CPU使用率 展示用户队列的CPU使用率。 该指标仅适用于普通队列。 0~100 队列 5分钟 queue_disk_usage 队列磁盘使用率 展示用户队列的磁盘使用率。 该指标仅适用于普通队列。 0~100 队列 5分钟 queue_disk_used 队列磁盘使用率最大值 展示用户队列的磁盘使用率的最大值。 该指标仅适用于普通队列。 0~100 队列 5分钟 queue_mem_usage 队列内存使用率 展示用户队列的内存使用率。 该指标仅适用于普通队列。 0~100 队列 5分钟 queue_mem_used 队列内存使用量 展示用户队列的内存使用量。 该指标仅适用于普通队列。 ≥0 队列 5分钟 flink_read_records_per_second Flink作业数据输入速率 展示用户Flink作业的数据输入速率,供监控和调试使用。 ≥0 Flink作业 10秒钟 flink_write_records_per_second Flink作业数据输出速率 展示用户Flink作业的数据输出速率,供监控和调试使用。 ≥0 Flink作业 10秒钟 flink_read_records_total Flink作业数据输入总数 展示用户Flink作业的数据输入总数,供监控和调试使用。 ≥0 Flink作业 10秒钟 flink_write_records_total Flink作业数据输出总数 展示用户Flink作业的数据输出总数,供监控和调试使用。 ≥0 Flink作业 10秒钟 flink_read_bytes_per_second Flink作业字节输入速率 展示用户Flink作业每秒输入的字节数。 ≥0 Flink作业 10秒钟 flink_write_bytes_per_second Flink作业字节输出速率 展示用户Flink作业每秒输出的字节数。 ≥0 Flink作业 10秒钟 flink_read_bytes_total Flink作业字节输入总数 展示用户Flink作业字节的输入总数。 ≥0 Flink作业 10秒钟 flink_write_bytes_total Flink作业字节输出总数 展示用户Flink作业字节的输出总数。 ≥0 Flink作业 10秒钟 flink_cpu_usage Flink作业CPU使用率 展示用户Flink作业的CPU使用率。 0~100 Flink作业 10秒钟 flink_mem_usage Flink作业内存使用率 展示用户Flink作业的内存使用率。 0~100 Flink作业 10秒钟 flink_max_op_latency Flink作业最大算子延迟 展示用户Flink作业的最大算子延迟时间,单位ms。Flink时间模型具体可以参考配置时间模型。 ≥0 Flink作业 10秒钟 flink_max_op_backpressure_level Flink作业最大算子反压 展示用户Flink作业的最大算子反压值,数值越大,反压越严重。 0:表示OK 50:表示Low 100:表示High 0~100 Flink作业 10秒钟 elastic_resource_pool_cpu_usage 弹性资源池CPU使用率 展示用户弹性资源池的CPU使用率。 0~100 弹性资源池 5分钟 elastic_resource_pool_mem_usage 弹性资源池内存使用率 展示用户弹性资源池的内存使用率。 0~100 弹性资源池 5分钟 elastic_resource_pool_disk_usage 弹性资源池磁盘使用率 展示用户弹性资源池的磁盘使用率。 0~100 弹性资源池 5分钟 elastic_resource_pool_disk_max_usage 弹性资源池磁盘使用率最大值 展示用户弹性资源池的磁盘使用率最大值。 0~100 弹性资源池 5分钟 elastic_resource_pool_cu_num 弹性资源池CU使用量 展示用户弹性资源池的CU使用量。 ≥0 弹性资源池 5分钟 elastic_resource_pool_alloc_cu_num 弹性资源池CU分配量 展示用户弹性资源池的CU分配情况。 ≥0 弹性资源池 5分钟 elastic_resource_pool_min_cu_num 弹性资源池最小CU 展示用户弹性资源池的最小CU。 ≥0 弹性资源池 5分钟 elastic_resource_pool_max_cu_num 弹性资源池最大CU 展示用户弹性资源池的最大CU。 ≥0 弹性资源池 5分钟
  • 常用操作与系统权限关系 表1列出了DLI SQL常用操作与系统策略的授权关系,您可以参照该表选择合适的系统策略。更多SQL语法赋权请参考《权限列表》章节。 表1 DLI常用操作与系统权限的关系 资源 操作 说明 DLI FullAccess DLI ReadOnlyAccess Tenant Administrator DLI Service Administrator 队列 DROP_QUEUE 删除队列 √ × √ √ SUBMIT_JOB 提交作业 √ × √ √ CANCEL_JOB 终止作业 √ × √ √ RESTART 重启队列 √ × √ √ GRANT_PRIVILEGE 队列的赋权 √ × √ √ REVOKE_PRIVILEGE 队列权限的回收 √ × √ √ SHOW_PRIVILEGES 查看其他用户具备的队列权限 √ × √ √ 数据库 DROP_DATABASE 删除数据库 √ × √ √ CREATE_TABLE 创建表 √ × √ √ CREATE_VIEW 创建视图 √ × √ √ EXPLAIN 将SQL语句解释为执行计划 √ × √ √ CREATE_ROLE 创建角色 √ × √ √ DROP_ROLE 删除角色 √ × √ √ SHOW_ROLES 显示角色 √ × √ √ GRANT_ROLE 绑定角色 √ × √ √ REVOKE_ROLE 解除角色绑定 √ × √ √ SHOW_USERS 显示所有角色和用户的绑定关系 √ × √ √ GRANT_PRIVILEGE 数据库的赋权 √ × √ √ REVOKE_PRIVILEGE 数据库权限的回收 √ × √ √ SHOW_PRIVILEGES 查看其他用户具备的数据库权限 √ × √ √ DISPLAY_ALL_TABLES 显示数据库中的表 √ √ √ √ DISPLAY_DATABASE 显示数据库 √ √ √ √ CREATE_FUNCTION 创建函数 √ × √ √ DROP_FUNCTION 删除函数 √ × √ √ SHOW_FUNCTIONS 显示所有函数 √ × √ √ DESCRIBE_FUNCTION 显示函数详情 √ × √ √ 表 DROP_TABLE 删除表 √ × √ √ SELECT 查询表 √ × √ √ INSERT_INTO_TABLE 插入 √ × √ √ ALTER_TABLE_ADD_COLUMNS 添加列 √ × √ √ INSERT_OVERWRITE_TABLE 重写 √ × √ √ ALTER_TABLE_RENAME 重命名表 √ × √ √ ALTER_TABLE_ADD_PARTITION 在分区表中添加分区 √ × √ √ ALTER_TABLE_RENAME_PARTITION 重命名表分区 √ × √ √ ALTER_TABLE_DROP_PARTITION 删除分区表的分区 √ × √ √ SHOW_PARTITIONS 显示所有分区 √ × √ √ ALTER_TABLE_RECOVER_PARTITION 恢复表分区 √ × √ √ ALTER_TABLE_SET_LOCATION 设置分区路径 √ × √ √ GRANT_PRIVILEGE 表的赋权 √ × √ √ REVOKE_PRIVILEGE 表权限的回收 √ × √ √ SHOW_PRIVILEGES 查看其他用户具备的表权限 √ × √ √ DISPLAY_TABLE 显示表 √ √ √ √ DESCRIBE_TABLE 显示表信息 √ × √ √ 弹性资源池 DROP 删除弹性资源池 √ × √ √ RESOURCE_MANAGEMENT 弹性资源池资源管理 √ × √ √ SCALE 扩缩容弹性资源池 √ × √ √ UPDATE 更新弹性资源池 √ × √ √ CREATE 创建弹性资源池 √ × √ √ SHOW_PRIVILEGES 查看其他用户具备的弹性资源池权限 √ × √ √ GRANT_PRIVILEGE 赋予指定用户弹性资源池权限 √ × √ √ REVOKE_PRIVILEGE 移除指定用户弹性资源池权限 √ × √ √ 增强型跨源连接 BIND_QUEUE 增强型跨源连接绑定队列 仅用于跨项目授权。 × × × × 父主题: 权限管理
  • DLI委托 在使用DLI前,为了确保正常使用DLI的功能,建议先进行DLI委托权限设置。 DLI默认提供以下类型的委托:dli_admin_agency、dli_management_agency、dli_data_clean_agency(名称固定,权限需自定义)。其他场景需用户自定义委托。委托的详细说明请参考表1。 DLI为了满足细粒度的委托权限需求,DLI升级了系统委托,将原有的dli_admin_agency升级为dli_management_agency,新的委托包含跨源操作、 消息通知 、用户授权操作所需的权限。配置DLI云服务委托权限。 使用Flink 1.15和Spark 3.3.1(Spark通用队列场景)及以上版本的引擎执行作业时,需完成以下配置操作: 需用户自行在IAM页面创建相关委托,并在作业配置中添加新建的委托信息。具体操作请参考创建DLI自定义委托权限。 常见新建委托场景:允许DLI读写OBS数据、日志转储、Flink checkopoint;允许DLI在访问DEW获取数据访问凭证、允许访问Catalog获取元数据等场景。 委托名称不可与系统默认委托重复,即不可以是dli_admin_agency、dli_management_agency、dli_data_clean_agency。 引擎版本低于Flink1.15,执行作业时默认使用dli_admin_agency;引擎版本低于Spark 3.3.1,执行作业时使用用户认证信息(AKSK、SecurityToken)。 即引擎版本低于Flink1.15和Spark 3.3.1版本的作业不受更新委托权限的影响,无需自定义委托。 为兼容存量的作业委托权限需求,dli_admin_agency仍为您保留在IAM委托中。 服务授权需要主账号或者用户组admin中的子账号进行操作。 请勿删除系统默认创建的委托。 表1 DLI委托 权限名 类型 权限说明 dli_admin_agency 系统默认委托 该委托已废弃,不推荐使用,请尽快更新委托升级至dli_management_agency。 更新委托请参考配置DLI云服务委托权限。 dli_management_agency 系统默认委托 DLI系统委托,用于将操作权限委托给DLI服务,让DLI服务以您的身份使用其他云服务,代替您进行一些资源运维工作。该委托包含跨源操作、消息通知、用户授权操作所需的权限。详细委托包含的权限请参考表2 dli_data_clean_agency 系统默认委托,需用户自行授权 数据清理委托,表生命周期清理数据及lakehouse表数据清理使用。需用户自行在IAM创建名为dli_data_clean_agency的DLI云服务委托并授权。 该委托需新建后自定义权限,但委托名称固定为dli_data_clean_agency。 委托的权限策略示例请参考常见场景的委托权限策略。 其他自定义委托 自定义委托 使用Flink 1.15和Spark 3.3及以上版本的引擎执行作业时,请自行在IAM页面创建相关委托,并在作业配置中添加新建的委托信息。创建DLI自定义委托权限 常见新建委托场景:允许DLI读写OBS将日志转储、允许DLI在访问DEW获取数据访问凭证、允许访问Catalog获取元数据等场景。 委托名称不可与系统默认委托重复,即不可以是dli_admin_agency、dli_management_agency、dli_data_clean_agency。 委托的权限策略示例请参考常见场景的委托权限策略。 表2 dli_management_agency委托包含的权限 权限名 权限说明 IAM ReadOnlyAccess DLI对未登录过DLI的用户进行授权时,需获取IAM用户相关信息。因此需要IAM ReadOnlyAccess权限。 DLI Datasource Connections Agency Access 访问和使用VPC、子网、路由、对等连接的权限 DLI Notification Agency Access 作业执行失败需要通过 SMN 发送通知消息的权限
  • 什么是委托? 各云服务之间存在业务交互关系,一些云服务需要与其他云服务协同工作,需要您创建云服务委托,将操作权限委托给DLI服务,让DLI服务以您的身份使用其他云服务,代替您进行一些资源运维工作。 例如:在DLI新建Flink作业所需的AKSK存储在 数据加密 服务DEW中,如需允许DLI在执行作业时访问DEW数据,需要提供IAM委托将DEW数据操作权限委托给DLI,允许DLI服务以您的身份访问DEW服务。 图1 DLI云服务委托
  • 示例流程 图1 给用户授权DLI权限流程 创建用户组并授权 在IAM控制台创建用户组,并授予DLI服务普通用户权限“DLI ReadOnlyAccess”。 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1中创建的用户组。 用户登录并验证权限 使用新创建的用户登录控制台,切换至授权区域,验证权限: 在“服务列表”中选择 数据湖 探索,进入DLI主界面。如果在“队列管理”页面可以查看队列列表,但是单击右上角“购买队列”,无法购买DLI队列(假设当前权限仅包含DLI ReadOnlyAccess),表示“DLI ReadOnlyAccess”已生效。 在“服务列表”中选择除数据湖探索外(假设当前策略仅包含DLI ReadOnlyAccess)的任一服务,如果提示权限不足,表示“DLI ReadOnlyAccess”已生效。
  • DLI资源 资源是服务中存在的对象。在DLI中,资源如下,您可以在创建自定义策略时,通过指定资源路径来选择特定资源。 表1 DLI的指定资源与对应路径 资源类型 资源名称 资源路径 queue DLI队列 queues.queuename database DLI数据库 databases.dbname table DLI表 databases.dbname.tables.tbname column DLI列 databases.dbname.tables.tbname.columns.colname jobs DLI Flink作业 jobs.flink.jobid resource DLI程序包 resources.resourcename group DLI程序包组 groups.groupname datasourceauth DLI跨源认证信息 datasourceauth.name edsconnections DLI增强跨源 edsconnections.连接ID 父主题: 权限管理
  • 跨源分析开发方式 表1提供DLI支持的数据源对应的开发方式。 表1 跨源分析语法参考 服务名称 开发SQL作业 开发Spark jar作业 开发Flink OpenSource SQL作业 开发Flink Jar作业 CloudTable HBase 创建HBase关联表 插入数据 查询数据 scala样例代码 pyspark样例代码 java样例代码 Hbase源表 Hbase结果表 Hbase维表 - CloudTable OpenTSDB 创建OpenTSDB关联表 插入数据 查询数据 scala样例代码 pyspark样例代码 java样例代码 - - CSS 创建 CS S关联表 插入数据 查询数据 scala样例代码 pyspark样例代码 java样例代码 Elasticsearch结果表 - DCS Redis 创建DCS关联表 插入数据 查询数据 scala样例代码 pyspark样例代码 java样例代码 Redis源表 Redis结果表 Redis维表 Flink作业样例 DDS 创建DDS关联表 插入数据 查询数据 scala样例代码 pyspark样例代码 java样例代码 - - DMS - - Kafka源表 Kafka结果表 - DWS 创建DWS关联表 插入数据 查询数据 scala样例代码 pyspark样例代码 java样例代码 DWS源表 DWS结果表 DWS维表 Flink作业样例 MRS HBase 创建HBase关联表 插入数据 查询数据 scala样例代码 pyspark样例代码 java样例代码 Hbase源表 Hbase结果表 Hbase维表 Flink作业样例 MRS Kafka - - Kafka源表 Kafka结果表 Flink作业样例 MRS OpenTSDB 创建OpenTSDB关联表 插入数据 查询数据 scala样例代码 pyspark样例代码 java样例代码 - - RDS MySQL 创建RDS关联表 插入数据 查询数据 scala样例代码 pyspark样例代码 java样例代码 MySQL CDC源表 - RDS PostGre 创建RDS关联表 插入数据 查询数据 scala样例代码 pyspark样例代码 java样例代码 Postgres CDC源表 -
共100000条