创建Spark引擎端点
操作场景
在提交Spark作业前,用户需要先创建Spark引擎端点,这是与AI DataLake引擎建立连接的第一步。Spark引擎端点相当于一个计算资源与计算资源的入口,通过这个端点,用户可以与AI DataLake引擎进行交互,提交各种数据处理和分析任务。
端点创建完成后,用户可以使用该端点创建和运行Spark作业,包括执行Spark SQL查询、运行Spark应用程序、进行数据清洗转换等操作。端点的创建过程通常需要用户配置选择端点类型、计算资源使用模式等参数,配置完成后系统会自动分配相应的计算资源,用户即可开始使用Spark引擎进行大规模数据处理工作。
本节操作介绍创建Spark引擎端点的操作步骤。
不同的端点类型配置的参数不同。
| 端点类型 | 说明 | 相关链接 |
|---|---|---|
| SparkSQL | 适用于数据查询和分析的Spark SQL场景,通过编写SQL语句快速完成数据的筛选、聚合、计算等操作,满足数据分析师需要快速探索数据的业务需求。 | |
| SparkJob | 适用于复杂数据处理的Spark Job场景,适合执行大规模数据转换、机器学习模型训练、ETL作业等复杂的数据处理任务。 |
配置SQL类型的端点
- 登录AI DataLake管理控制台。
- 在页面左上角切换至对应的工作空间。
- 在左侧导航栏选择“引擎端点 > 批处理引擎 Spark”进入端点列表页面。
- 单击页面右上角的“创建”,配置端点信息。
- 配置端点的基础信息。
表2 端点的基础信息 参数
参数说明
端点类型
选择端点类型为SparkSQL。
引擎版本
选择作业运行时所使用的Spark的版本。不同版本的Spark可能支持不同的特性、性能优化和API。
端点名称
端点名称创建后不可修改。
端点名称是系统内部的唯一标识,在API调用、CLI命令中引用该端点,不可与已存在的端点重名。
命名规则:
- 名称只能包含小写字母、数字、中划线,且只能以字母开头,以字母或数字结尾。
- 输入长度不能超过63个字符。
例如:spark-endpoint-001、my-spark-job
端点显示名称
端点显示名称创建后可修改。
端点显示名称用于用户界面展示,方便用户识别和记忆。
命名规则:
- 名称只能输入中文、英文、数字、中划线。
- 输入长度不能超过63个字符。
例如:生产环境Spark引擎、数据分析师专用端点
添加描述
填写描述信息,用于详细说明端点的用途、用途背景等信息,帮助其他用户理解该端点的创建目的和使用场景。
- 配置端点的“资源配置”类信息。
表3 端点的资源配置 参数
参数说明
资源使用模式
当前Spark端点仅支持选择“按需弹性”的资源模式。
“按需弹性”的资源模式使用的是弹性资源,无需提前购买,按实际使用量计费。
适用于短期或偶发性的业务需求,如开发测试或临时任务。
端点CPU使用最大值
选择“按需弹性”的资源模式时,需要配置端点CPU使用最大值,即设置弹性资源的使用上限,防止突发流量导致资源无限扩展,导致费用突增。同时系统根据设置的CPU使用最大值可以进行合理的资源调度和分配。
- 配置端点的“集群配置”信息。
- Driver
表4 Driver配置 参数
参数说明
spark.driver.cores
driver CPU核数,用于指定Spark应用程序中driver进程可使用的vCPU数量。
spark.driver.memory
driver内存。用于指定Spark应用程序driver进程可使用的内存量。
完整的driver内存=spark.driver.memory + spark.driver.memoryOverhead
spark.driver.memoryOverhead
每个driver可使用的堆外内存量。
- Executer
表5 Executer配置 参数
参数说明
spark.executor.cores
executor CPU核数,用于指定每个executor进程可使用的vCPU数量。
spark.executor.memory
executor内存。用于指定每个executor进程可使用的内存量。
完整的Executor内存=spark.executor.memory + spark.executor.memoryOverhead
spark.executor.memoryOverhead
Spark应用程序中每个executor的堆外内存量。
Executor数量(Min-Max)
分配的executor个数。建议至少分配1个,确保Spark有较好的性能。
表6 端点资源配置 参数
参数说明
集群数量(Min-Max)
端点保持运行的集群数量范围。
单集群并发SQL数
单个集群能够同时处理的SQL查询最大数量。超过SQL查询最大数量将扩展新的集群,如果集群数量超过配置的最大集群数量,那么新的请求将排队。
设置过低会导致资源利用率不足,设置过高可能导致SQL查询执行缓慢。
内存充足的集群可以支持更高的并发数。
端点最大并发SQL数量
整个端点所有集群合计能够同时处理的SQL查询最大数量。超过此数量的请求将被拒绝,即请求失败。
自动停止集群
是否自动停止该集群以释放资源并节省成本。
- 勾选后,即启用自动停止集群功能,您可以设置无SQL运行时间,超过设定时间会自动停止集群(Min个集群不会自动停止)。
- 取消勾选,即禁用自动停止集群功能,集群将始终保持运行状态,即使没有任务执行。
生产环境如果要求低延迟,可以禁用自动停止集群功能,如果是测试环境推荐启用自动停止集群功能,避免资源空闲,提升资源利用效率优化资源成本。
集群老化时间
设置集群最长运行时间,超时后待集群中 SQL 运行完成后自动销毁。
- Driver
- 配置Spark参数。
以“key=value”的形式设置提交Spark作业的属性。
- 键(Key):输入 Spark 作业所需的配置参数名称,例如 spark.sql.adaptive.enabled、spark.executor.memory 等。
- 值(Value):为对应的键设置参数值,例如:4294967296。内存的默认单位为byte。
- 配置端点的“存储配置”信息。
表7 存储配置信息 参数
参数说明
选择OBS桶
通过下拉菜单选择已有的OBS桶。用于存储作业日志和临时数据等信息。
若未配置,可单击“新建 OBS 桶”进行创建。
委托名
配置用于读写作业event log、日志和临时数据等信息所使用的委托(即权限委托,如 IAM 委托)。
通过下拉菜单选择已有的委托。若未配置,可单击“新建委托”进行创建。
- 完成上述信息的配置后,单击“立即创建”,系统按照配置要求开始创建端点。
端点创建完成后,可在列表中查看相关信息,端点状态变为“运行中”后即可提交作业到该端点中运行。
配置Job类型的端点
- 登录AI DataLake管理控制台。
- 在页面左上角切换至对应的工作空间。
- 在左侧导航栏选择“引擎端点 > 批处理引擎 Spark”进入端点列表页面。
- 单击页面右上角的“创建”,配置端点信息。
- 配置端点的基础信息。
表8 端点的基础信息 参数
参数说明
端点类型
选择端点类型为SparkJob。
端点名称
端点名称创建后不可修改。
端点名称是系统内部的唯一标识,在API调用、CLI命令中引用该端点,
命名规则:
- 名称只能包含小写字母、数字、中划线,且只能以字母开头,以字母或数字结尾。
- 输入长度不能超过63个字符。
例如:spark-endpoint-001、my-spark-job
端点显示名称
端点显示名称创建后可修改。
端点显示名称用于用户界面展示,方便用户识别和记忆。
命名规则:
- 名称支持输入中文、英文、数字和下划线。
- 输入长度不能超过63个字符。
例如:生产环境Spark引擎、数据分析师专用端点
添加描述
填写描述信息,用于详细说明端点的用途、用途背景等信息,帮助其他用户理解该端点的创建目的和使用场景。
- 配置端点的“资源配置”类信息。
表9 批处理引擎Spark端点配置-资源配置 参数
参数说明
资源使用模式
当前Spark端点仅支持选择“按需弹性”的资源模式。
“按需弹性”的资源模式使用的是弹性资源,无需提前购买,按实际使用量计费,无业务运行不产生费用。
适用于短期或偶发性的业务需求,如开发测试或临时任务。
端点CPU使用最大值
选择“按需弹性”的资源模式时需要配置端点CPU使用最大值,即设置弹性资源的使用上限,防止突发流量导致资源无限扩展,耗尽集群算力。同时系统根据设置的CPU使用最大值可以进行合理的资源调度和分配。
- 配置端点的“调度配置”信息。
表10 端点调度配置 参数
参数说明
端点最大并发作业数量
端点能够同时处理的作业最大数量。超过此数量的请求将被拒绝,即请求失败。
作业调度策略
- 随机(RANDOM)
根据随机选择的方式选择作业进行处理。每次调度时,随机选择一个作业执行。
- 先进先出(FIFO)
指作业按照到达的顺序排队等待处理。最早到达的作业最先被处理,然后是第二个到达的作业,依此类推。
FIFO允许并发时间
当设置调度策略为FIFO,还需要设置允许作业并发提交时间窗口,提交时间在同一时间窗口内的作业随机抢占资源,不同时间窗口间的作业通过先进先出分配。
- 随机(RANDOM)
- 配置Spark参数。
以“key=value”的形式设置提交Spark作业的属性。
- 键(Key):输入Spark作业所需的配置参数名称,例如spark.sql.adaptive.enabled、spark.executor.memory等。
- 值(Value):为对应的键设置参数值,例如true、4g等。
- 配置端点的“存储配置”信息。
表11 存储配置信息 参数
参数说明
选择OBS桶
通过下拉菜单选择已有的OBS桶。用于存储作业日志和临时数据等信息。
若未配置,可单击“新建 OBS 桶”进行创建。
委托名
配置用于读写作业event log、日志和临时数据等信息所使用的委托(即权限委托,如 IAM 委托)。
通过下拉菜单选择已有的委托。若未配置,可单击“新建委托”进行创建,具体操作请参考创建自定义委托。
- 配置作业委托
使用Spark引擎执行作业时,需要您先在IAM页面创建相关委托,并在此处添加新建的委托信息。具体操作请参考创建自定义委托。
常见新建委托场景:允许AI DataLake读写OBS将日志转储、允许AI DataLake在访问DEW获取数据访问凭证、允许访问LakeFormation获取元数据等场景。
- 完成上述信息的配置后,单击“立即创建”,系统按照配置要求开始创建端点。
端点创建完成后,可在列表中查看相关信息,端点状态变为“运行中”后即可提交作业到该端点中运行。
后续操作
使用Spark端点提交作业。