云服务器内容精选

  • 访问和使用OBS的权限策略 适用场景: DLI Flink作业下载OBS对象、OBS/DWS数据源(外表)、日志转储、使用savepoint、开启checkpoint,DLI Spark作业下载OBS对象、读写OBS外表。 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "obs:bucket:GetBucketPolicy", "obs:bucket:GetLifecycleConfiguration", "obs:bucket:GetBucketLocation", "obs:bucket:ListBucketMultipartUploads", "obs:bucket:GetBucketLogging", "obs:object:GetObjectVersion", "obs:bucket:GetBucketStorage", "obs:bucket:GetBucketVersioning", "obs:object:GetObject", "obs:object:GetObjectVersionAcl", "obs:object:DeleteObject", "obs:object:ListMultipartUploadParts", "obs:bucket:HeadBucket", "obs:bucket:GetBucketAcl", "obs:bucket:GetBucketStoragePolicy", "obs:object:AbortMultipartUpload", "obs:object:DeleteObjectVersion", "obs:object:GetObjectAcl", "obs:bucket:ListBucketVersions", "obs:bucket:ListBucket", "obs:object:PutObject" ], "Resource": [ "OBS:*:*:bucket:bucketName",//请替换bucketName为对应的桶名称 "OBS:*:*:object:*" ] }, { "Effect": "Allow", "Action": [ "obs:bucket:ListAllMyBuckets" ] } ] }
  • 使用DEW加密功能的权限 适用场景:DLI Flink、Spark作业场景使用DEW- CS MS凭证管理能力。 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "csms:secretVersion:get", "csms:secretVersion:list", "kms:dek:decrypt" ] } ] }
  • 访问LakeFormation Catalog元数据的权限 适用场景:DLI Spark作业场景,授权DLI访问LakeFormation Catalog元数据。 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:table:drop", "lakeformation:table:create", "lakeformation:policy:create", "lakeformation:database:create", "lakeformation:database:drop", "lakeformation:database:describe", "lakeformation:catalog:alter", "lakeformation:table:alter", "lakeformation:database:alter", "lakeformation:catalog:create", "lakeformation:function:describe", "lakeformation:catalog:describe", "lakeformation:function:create", "lakeformation:table:describe", "lakeformation:function:drop", "lakeformation:transaction:operate" ] } ] }
  • 数据清理委托权限配置 适用场景:数据清理委托,表生命周期清理数据及lakehouse表数据清理使用。该委托需新建后自定义权限,但委托名称固定为dli_data_clean_agency。 请在设置委托的授权范围时分别对OBS权限和DLI权限授权范围: OBS权限请选择“全局服务资源” DLI权限选择“指定区域项目资源” { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "obs:object:GetObject", "obs:object:DeleteObject", "obs:bucket:HeadBucket", "obs:bucket:ListBucket", "obs:object:PutObject" ] } ] } { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "dli:table:showPartitions", "dli:table:select", "dli:table:dropTable", "dli:table:alterTableDropPartition" ] } ] }
  • 访问DLI Catalog元数据的权限 适用场景:DLI Flink、Spark作业场景,授权DLI访问DLI元数据。 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "dli:table:showPartitions", "dli:table:alterTableAddPartition", "dli:table:alterTableAddColumns", "dli:table:alterTableRenamePartition", "dli:table:delete", "dli:column:select", "dli:database:dropFunction", "dli:table:insertOverwriteTable", "dli:table:describeTable", "dli:database:explain", "dli:table:insertIntoTable", "dli:database:createDatabase", "dli:table:alterView", "dli:table:showCreateTable", "dli:table:alterTableRename", "dli:table:compaction", "dli:database:displayAllDatabases", "dli:database:dropDatabase", "dli:table:truncateTable", "dli:table:select", "dli:table:alterTableDropColumns", "dli:table:alterTableSetProperties", "dli:database:displayAllTables", "dli:database:createFunction", "dli:table:alterTableChangeColumn", "dli:database:describeFunction", "dli:table:showSegments", "dli:database:createView", "dli:database:createTable", "dli:table:showTableProperties", "dli:database:showFunctions", "dli:database:displayDatabase", "dli:table:alterTableRecoverPartition", "dli:table:dropTable", "dli:table:update", "dli:table:alterTableDropPartition" ] } ] }
  • “执行历史(最近一天)”和“查看结果” SQL作业执行完成后可以在编辑区域下方查看执行历史和执行结果。 执行历史(最近一天) 可以通过以下方式筛选执行历史: 在右上角选择队列名称或输入执行语句 在列表中选择创建时间顺序/倒序排列 在列表中选择作业状态 图3 SQL作业执行历史 表4 SQL作业执行历史说明 区域 描述 执行历史(最近一天) 执行历史显示最近一天提交的作业的信息。包括: 队列:队列名称 用户名:执行SQL的用户 类型:SQL作业的类型 状态:SQL作业的执行状态 执行语句 创建时间 操作: 编辑:重新编辑SQL语句 SparkUI:跳转至SparkUI查看SQL语句执行进程 说明: 新建队列,运行作业时会重新拉集群,大概需要10分钟左右才能拉好集群,在集群创建好之前单击SparkUI会导致缓存空的projectID,从而导致无法查看SparkUI。建议使用专属队列,集群不会被释放,就不会有该问题,或者提交作业后等一段时间再查看SparkUI,确保集群已经拉好了,不要立即单击SparkUI。 目前DLI配置SparkUI只展示最新的100条作业信息。 default队列下运行的作业或者该作业为同步作业时不支持该操作。 更多:以下操作根据SQL类型和运行状态的不同显示会有差异,请以实际界面为准。 终止:正在运行或提交中的SQL支持终止操作。 重新执行:重新执行该SQL语句。 查看结果:QUERY作业支持查看作业执行结果。 导出结果:QUERY作业这次导出作业运行结果到指定OBS路径下。 归档日志:SQL语句运行日志存储的OBS路径。 异步DDL和QUERY语句支持将结果下载到本地 说明: default队列下运行的作业或者该作业为同步作业时不支持归档日志操作。 异步DDL和QUERY语句支持将结果下载到本地。操作如下: 单击执行成功的异步DDL或QUERY语句“操作”列中的“下载到本地”,在提示窗口单击“确认”。此时,“操作”列中的“下载到本地”将变为“立即下载”。 单击“立即下载”,将对应结果下载到本地。
  • 使用须知 首次进入SQL编辑器,页面会提示设置DLI作业桶。该桶用于存储使用DLI服务产生的临时数据,例如:作业日志等。 如果不创建该桶,将无法查看作业日志。桶名称为系统默认。 在OBS管理控制台页面通过配置桶的生命周期规则,可以实现定时删除OBS桶中的对象或者定时转换对象的存储类别。 具体操作请参考通过配置生命周期规则。 SQL编辑器页面可以批量执行SQL语句。 作业编辑窗口常用语法采用不同颜色突出显示。 支持单行注释和多行注释。以“--”开头,后续内容即为注释。
  • SQL作业编辑窗口 页面右侧上方为SQL作业编辑窗口,参数说明请参考表2。 操作栏下方为SQL语句编辑区。快捷键介绍具体请参考表3。 图2 SQL作业编辑窗口 表2 SQL作业编辑窗口说明 序号 按键&下拉列 描述 1 执行引擎 SQL作业支持Spark和Trino两种引擎: Spark引擎适用于离线分析。 Trino引擎适用于交互式分析。 2 队列 下拉选择需要使用的队列。如果没有可用队列,此处显示“default”队列,default队列为体验使用,建议单独创建队列。具体队列创建可以参考创建弹性资源池和在弹性资源池中添加队列。 SQL作业只能在队列类型为“SQL队列”下执行。 3 数据库 下拉选择需要使用的数据库。如果没有可用数据库,此处显示“default”默认数据库。数据库创建操作详见创建数据库和表。 说明: 如果SQL语句中指定了表所在的数据库,则此处选择的数据库无效。 4 执行 执行作业编辑窗口中的SQL语句。 5 格式化 格式化SQL语句。 6 语法参考 可跳转至《 数据湖探索 SQL语法参考》手册。 7 设置 包括设置“参数设置”和“标签”。 参数设置:以“key/value”的形式设置提交SQL作业的配置项。详细内容请参见《 数据湖 探索SQL语法参考》。 标签:以“key/value”的形式设置SQL作业的标签。 8 更多 包括: 语法校验:判断SQL语句编写是否正确。 设为模板:将常用的SQL语句设为模板。具体操作请参见SQL模板管理。 切换主题:选择白底黑字或黑底白字。 表3 快捷键说明 快捷键 描述 Ctrl+Enter 执行SQL。通过按下键盘上的Ctrl+R或Ctrl + Enter,您可以执行SQL语句。 Ctrl+F 搜索SQL。通过按下键盘上的Ctrl + F,您可以搜索需要的SQL语句。 Shift+Alt+F 格式化SQL。通过按下键盘上的Shift+Alt+F,您可以将SQL语句格式化。 Ctrl+Q 语法校验。通过按下键盘上的Ctrl + Q,您可以对SQL语句进行语法校验。 F11 全屏。通过按下键盘上的F11,您可将SQL作业编辑器窗口全屏。再次按下F11,将从全屏复原。
  • 导航栏 页面左侧的导航栏包括“数据库”、“队列”和“模板”说明如下。 图1 SQL作业导航栏 表1 导航栏按键说明 序号 页签/按键名称 描述 1 数据库 显示已有的数据库及其下所有的表。 单击数据库名,将显示该数据库中的表。 单击表名,将在表名下显示该表中的元数据,最多可显示20个元数据。 双击表名,将在作业编辑窗口自动输入SQL查询语句。 2 队列 显示已有的队列。 3 模板 自定义模板和内置的SQL样例模板(目前包含22条标准的TPC-H查询语句)。
  • 数据库和表说明 数据库是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。 表是数据库最重要的组成部分之一。表是由行与列组合成的。每一列被当作是一个字段。每个字段中的值代表一种类型的数据。 数据库是一个框架,表是其实质内容。一个数据库包含一个或者多个表。 用户可通过管理控制台或SQL语句创建数据库和表,其中SQL语句的操作方法请参见创建数据库、创建OBS表和创建DLI表等。本章节介绍在管理控制台创建数据库和表的操作步骤。 View只能通过SQL语句进行创建,不能通过“创建表”页面进行创建。
  • 约束与限制 16CUs队列不支持扩容和缩容。 64CUs队列不支持缩容。 目前只支持计费模式为“按需/CU时”和“按需/专属资源模式”的队列进行弹性扩缩容。 如果在“弹性扩缩容”页面提示“Status of queue xxx is assigning, which is not available”,表示需要等待队列资源分配完毕才可进行扩缩容。 队列资源扩容时,可能会由于物理资源不足导致队列资源无法扩容到设定的目标大小。 队列资源缩容时,系统不保证将队列资源完全缩容到设定的目标大小。通常队列资源缩容时,系统会先检查资源使用情况,判断是否存在缩容空间,如果现有资源无法按照最小缩容步长执行缩容任务,则队列可能缩容不成功,或缩容一部分规格的情况。 因资源规格不同可能有不同的缩容步长,通常是16CUs、32CUs、48CUs、64CUs等。 示例:队列大小为48CUs,执行作业占用了18CUs,剩余30CUs不满足该32CUs步长缩容的要求,如果执行缩容任务,则缩容失败。
  • 约束限制 DLI服务授权需要区分项目,请在每个需要新委托的项目分别执行更新委托操作,即切换至对应项目后,再按照本节的操作更新委托权限。 dli_management_agency包含的三个权限中: IAM ReadOnlyAccess授权范围是全局服务资源,授权范围不区分区域: 任意区域在更新DLI委托时选择了该权限,那么所有区域的项目都将生效。 任意项目在更新委托时未勾选该权限,代表回收该权限,那么所有区域的项目都将回收该权限,即所有项目无法正常获取IAM用户相关信息。 更新时请务必勾选IAM ReadOnlyAccess,因IAM ReadOnlyAccess授权范围是全局服务资源,如果取消勾选该权限后更新委托,则所有区域和项目的IAM ReadOnlyAccess都将失效。 DLI Datasource Connections Agency Access、DLI Notification Agency Access授权范围是指定区域项目资源: 仅在勾选该权限且更新DLI委托权限后的项目生效。未勾选该权限的项目不具备跨源场景所需权限、和 SMN 发送通知消息的权限。 示例1和示例2给出了同一个区域的不同项目更新DLI委托带来的委托权限差异。
  • DLI系统委托中没有我需要的委托怎么办? 当您在使用DLI过程中所需的委托没有包含在DLI系统委托dli_management_agency时,您需要在IAM页面创建相关委托,并在作业配置中添加新建的委托信息。 常见的需要自建委托的场景: DLI表生命周期清理数据及Lakehouse表数据清理所需的数据清理委托。需用户自行在IAM创建名为dli_data_clean_agency的DLI云服务委托并授权。该委托需新建后自定义权限,但委托名称固定为dli_data_clean_agency。 DLI Flink作业访问和使用OBS、日志转储(包括桶授权)、开启checkpoint、作业导入导出等,需要获得访问和使用OBS( 对象存储服务 )的Tenant Administrator权限。 DLI Flink作业所需的AKSK存储在 数据加密 服务DEW中,如需允许DLI在执行作业时访问DEW数据,需要新建委托将DEW数据操作权限委托给DLI,允许DLI服务以您的身份访问DEW服务。 允许DLI在执行作业时访问DLI Catalog元数据,需要新建委托将DLI Catelog数据操作权限委托给DLI,允许DLI服务以您的身份访问DLI Catalog元数据。 DLI Flink作业所需的云数据存储在LakeFormation中,如需允许DLI在执行作业时访问Catalog获取元数据,需要新建委托将Catelog数据操作权限委托给DLI,允许DLI服务以您的身份访问Catalog元数据。 新建委托时,请注意委托名称不可与系统默认委托重复,即不可以是dli_admin_agency、dli_management_agency、dli_data_clean_agency。 更多自定义委托的操作请参考自定义DLI委托权限和常见场景的委托权限策略。
  • 静态流图 在OpenSource SQL作业编辑页面,单击“静态流图”按钮即可展示。 Flink Opensource SQL作业中使用自定义函数时,不支持生成静态流图。 “静态流图”页面还支持以下功能: 支持资源预估。通过单击“静态流图”页面中的“资源预估”按钮,可进行资源预估。单击“恢复初始值”按钮,可在资源预估后恢复初始值。 支持展示页面缩放。 支持根据算子链展开/合并。 支持编辑“并行数”,“流量”和“命中率”。 并行数:一个任务的并发数。 流量:算子的数据流量,单位:条/s。 命中率:数据经过算子处理之后的保留率。命中率=算子的数据流出量/流入量,单位:%。 图5 静态流图
  • 跨源认证使用约束限制 仅Spark SQL、和Flink OpenSource SQL 1.12版本的作业支持使用跨源认证。 仅在2023年5月1日后创建的队列,支持Flink作业使用跨源认证。 DLI支持四种类型的跨源认证,不同的数据源按需选择相应的认证类型。 CSS 类型跨源认证:适用于“6.5.4”及以上版本的CSS集群且集群已开启安全模式。 Kerberos类型的跨源认证:适用于开启Kerberos认证的 MRS 安全集群。 Kafka_SSL类型的跨源认证:适用于开启SSL的Kafka。 Password类型的跨源认证:适用于DWS、RDS、DDS、DCS数据源。。 更多跨源认证约束限制请参考跨源认证简介。