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