产品功能
本页面介绍了DLI服务支持的主要功能。关于各功能支持的地域(Region)信息,可通过控制台查询详情。
弹性资源池和队列
使用DLI提交作业前,您需要为提交作业准备所需的计算资源。
- 弹性资源池
弹性资源池为DLI作业运行提供所需的计算资源(CPU和内存),弹性资源池具备强大的计算能力、高可用性、及灵活的资源管理能力,适用于大规模计算任务场景和有长期资源规划需求的业务场景,灵活应对业务对计算资源变化的需求。
有关更多信息请参阅创建弹性资源池。
- 队列
创建弹性资源池后,您可以在弹性资源池中创建多个队列,队列关联到具体的作业和数据处理任务,是资源池中资源被实际使用和分配的基本单元,即队列是执行作业所需的具体的计算资源。
同一弹性资源池中,队列之间的计算资源支持共享。 通过合理设置队列的计算资源分配策略,可以提高计算资源利用率。
有关更多信息请参阅在弹性资源池中添加队列。
- default队列
DLI服务预置了名为“default”的队列,资源的大小是按需分配的。用户在不确定所需队列容量或没有可创建队列空间的情况下,可以使用该队列执行作业。“default”队列只用于用户体验,所有人共用,用户间可能会出现抢占资源的情况,不能保证每次都可以得到资源执行相关操作。
有关更多信息请参阅弹性资源池和队列简介。
DLI元数据管理
DLI元数据是SQL作业、Spark作业场景开发的基础。在执行作业前您需要根据业务场景定义数据库和表。
除了DLI元数据,DLI还支持对接LakeFormation实现元数据的统一管理,无缝对接多种计算引擎及大数据云服务,便捷高效地构建数据湖和运营相关业务。
- DLI元数据
DLI元数据是SQL作业、Spark作业场景开发的基础。在执行作业前您需要根据业务场景定义数据库和表。· 数据目录:数据目录(Catalog)是元数据管理对象,它可以包含多个数据库。您可以在DLI中创建并管理多个Catalog,用于不同的元数据隔离。
- 数据库
数据库是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。数据库通常用于存储、检索和管理结构化数据,由多个数据表组成,这些数据表通过键和索引相互关联。
- 表
表是数据库最重要的组成部分之一,它由行和列组成。每一行代表一个数据项,每一列代表数据的一个属性或特征。表用于组织和存储特定类型的数据,使得数据可以被有效地查询和分析。数据库是一个框架,表是其实质内容。一个数据库包含一个或者多个表。
- 元数据
元数据(Metadata)是用来定义数据类型的数据。主要是描述数据自身信息,包含源、大小、格式或其它数据特征。数据库字段中,元数据用于诠释数据仓库的内容。创建表时,会定义元数据,由列名、类型、列描述三列组成。
有关更多信息请参阅创建数据库和表。
- 数据库
- DLI对接LakeFormation管理元数据
创建弹性资源池后,您可以在弹性资源池中创建多个队列,队列关联到具体的作业和数据处理任务,是资源池中资源被实际使用和分配的基本单元,即队列是执行作业所需的具体的计算资源。同一弹性资源池中,队列之间的计算资源支持共享。 通过合理设置队列的计算资源分配策略,可以提高计算资源利用率。
有关更多信息请参阅DLI对接LakeFormation。
DLI SQL作业
DLI SQL作业,即DLI Spark SQL作业,通过在SQL编辑器使用SQL语句执行数据查询等操作。支持SQL2003,兼容SparkSQL。
有关更多信息请参阅数据湖探索Spark SQL语法参考、使用DLI提交SQL作业查询OBS数据、导出SQL作业结果。
DLI Spark作业
Spark是用于大规模数据处理的统一分析引擎,聚焦于查询计算分析。DLI在开源Spark基础上进行了大量的性能优化与服务化改造,不仅兼容Apache Spark生态和接口,性能较开源提升了2.5倍,在小时级即可实现EB级数据查询分析。
有关更多信息请参阅使用DLI提交Spark Jar作业。
DLI Flink作业
DLI Flink作业专为实时数据流处理设计,适用于低时延、需要快速响应的场景,支持与多种云服务跨源连通,形成丰富的流生态圈。适用于实时监控、在线分析等场景。
- Flink OpenSource作业
DLI提供了标准的连接器(connectors)和丰富的API,便于快速与其他数据系统的集成。
- Flink Jar作业
允许用户提交编译为Jar包的Flink作业,提供了更大的灵活性和自定义能力。适合需要自定义函数、UDF(用户定义函数)或特定库集成的复杂数据处理场景。可以利用Flink的生态系统,实现高级流处理逻辑和状态管理。
- Flink Python作业
DLI在Flink 1.17及以上版本中引入对PyFlink作业的支持,旨在为您提供更加灵活和强大的数据处理工具。您不仅可以在DLI作业管理界面直接提交PyFlink作业,还支持指定第三方Python依赖和Java依赖,以及自定义Python虚拟环境和数据文件压缩包,极大地提升了作业提交的便捷性和作业执行的灵活性。
此外,DLI Flink镜像将预装默认的Python执行环境,支持Python 3.7, 3.8, 3.9, 3.10版本,满足不同用户的开发需求,使得Python开发者能够更加高效地利用DLI进行数据处理和分析工作。
Flink Python作业适用于需要自定义流处理逻辑、复杂的状态管理或特定库集成的数据分析场景。需要用户自行编写并构建Python作业程序包,在提交Flink Python作业前,将Jar作业程序包上传至OBS,并将程序包与数据和作业参数一起提交以运行作业。
跨源连接
在使用DLI进行跨源分析前,需要先建立跨源连接,打通数据源之间的网络。
DLI增强型跨源连接底层采用对等连接,直接打通DLI队列与目的数据源的VPC网络,通过点对点的方式实现数据互通,能够提供比经典型跨源更加灵活的使用场景与更加强劲的性能。
说明:系统default队列不支持创建跨源连接。跨源连接需要使用VPC、子网、路由、对等连接功能,因此需要获得VPC(虚拟私有云)的VPC Administrator权限。可在服务授权中进行设置。
有关更多信息请参阅创建增强型跨源连接。
权限管理
DLI服务不仅在服务本身有一套完善的权限控制机制,同时还支持通过统一身份认证服务(Identity and Access Management,简称IAM)细粒度鉴权,可以通过在IAM创建策略来管理DLI的权限控制。两种权限控制机制可以共同使用,没有冲突。
有关更多信息请参阅创建用户并授权使用DLI、DLI自定义策略、DLI常用操作与系统权限关系。
DLI自定义委托
跨源分析场景,DLI需具备访问其他云服务的委托权限,即允许DLI在其他云服务中代表用户或服务执行操作,才能够在执行作业时读写数据、执行特定操作。DLI委托可以确保DLI在跨源分析场景中安全、有效地访问其他云服务。
有关更多信息请参阅创建DLI自定义委托。
自定义镜像
DLI支持容器部署的集群。在容器集群中,Spark作业和Flink作业相关组件都运行在容器中,通过下载DLI提供的自定义镜像,可以改变Spark作业和Flink作业的容器运行环境。例如,在自定义镜像中加入机器学习相关的Python包或者C库,可以通过这种方式方便地帮助用户进行功能扩展。
有关更多信息请参阅创建自定义镜像。