创建Spark引擎端点
操作场景
在提交Spark作业前,用户需要先创建Spark引擎端点,这是与AI DataLake引擎建立连接的第一步。Spark引擎端点相当于一个计算资源的入口,通过这个端点,用户可以与AI DataLake引擎进行交互,提交各种数据处理和分析任务。
端点创建完成后,用户可以使用该端点创建和运行Spark作业,包括执行SparkSQL查询、运行Spark应用程序、进行数据清洗转换等操作。端点的创建过程通常需要用户配置选择端点类型、计算资源使用模式等参数,配置完成后系统会自动分配相应的计算资源,用户即可开始使用Spark引擎进行大规模数据处理工作。
本节操作介绍创建Spark引擎端点的操作步骤。
不同的端点类型配置的参数不同。
| 端点类型 | 说明 | 相关链接 |
|---|---|---|
| SparkSQL | SparkSQL是Spark引擎的SQL交互式端点,通过编写SQL语句完成数据筛选、聚合、计算。适用于数据查询分析、即席查询、数据探索等交互式场景。端点执行SQL语句时,以当前用户身份访问LakeFormation资源(IAM用户+策略授权),支持预留、混合、按需弹性三种资源模式,并提供Query Profile用于查询性能分析。 SparkSQL端点仅支持选择预置镜像。 | |
| SparkJob | SparkJob是Spark引擎的批处理作业端点,执行大规模数据转换和复杂处理。适用于ETL作业、机器学习模型训练、大规模数据转换等批量场景。端点执行作业时,以端点配置的委托身份访问LakeFormation资源。支持提交日志查看,支持预留、混合、按需弹性三种资源模式。 SparkJob端点支持选择预置镜像和自定义镜像。 |
如果需要实现端点安全隔离,建议将端点分布在不同资源池或者不同工作空间,通过资源池/工作空间级别的隔离实现端点间的安全边界。
创建SparkSQL类型的端点
- 登录AI DataLake管理控制台。
- 在页面左上角切换至对应的工作空间。
- 在左侧导航栏选择“引擎端点 > 批处理引擎Spark”进入端点列表页面。
- 单击页面右上角的“创建端点”,配置端点信息。
- 配置端点的基础信息。
表2 端点的基础信息 参数
参数说明
端点类型
选择端点类型为SparkSQL。
端点名称
端点名称创建后不可修改。
端点名称是系统内部的唯一标识,在API调用、CLI命令中引用该端点,不可与已存在的端点重名。
命名规则:
- 名称只能包含小写字母、数字、中划线,且只能以字母开头,以字母或数字结尾。
- 输入长度不能超过63个字符。
例如:spark-endpoint-001、my-spark-job
端点显示名称
端点显示名称创建后可修改。
端点显示名称用于用户界面展示,方便用户识别和记忆。
命名规则:
- 名称只能输入中文、英文、数字、中划线。
- 输入长度不能超过63个字符。
例如:生产环境Spark引擎、数据分析师专用端点
描述
填写描述信息,用于详细说明端点的用途、背景等信息,帮助其他用户理解该端点的创建目的和使用场景。
标签
选择端点的标签,用于对端点进行分类、标识和管理。关于标签的管理详情请参见管理AI DataLake标签。
- 配置端点的“资源配置”类信息。
表3 端点的资源配置 参数
参数说明
资源使用模式
选择资源使用模式。
端点资源模式配置为“混合模式”或“按需弹性”时,系统将触发弹性资源调度。该模式下即视为您授权AI DataLake获取您的任务与资源数据用于特定功能处理,并代表您执行相关操作。
- 预留资源:使用预留资源池,资源独享。适合负载稳定、持续运行的业务场景,如生产项目、关键任务。
- 混合模式:基线保障,自动扩容。优先消耗预留资源,高峰期自动触发弹性补位。适用于有规律波动的业务。
- 按需弹性:按任务实际运行时长扣费,无任务不产生费用。适合短期或偶发性的业务需求,如开发测试或临时任务。
注意:在资源模式选择为“按需弹性”时,且工作空间没有创建网络时,需要创建网络并选择资源的网络信息。一个工作空间只支持绑定一个网络。创建网络详情请参见创建网络。
选择计算资源池
选择“预留资源”或“混合模式”后,需要选择计算资源池。可以单击右侧的“购买计算资源”去进行购买。购买操作详情请参考购买预留资源池。
规格配置
选择了计算资源后,需要设置资源配额(Min-Max)的最大值。最大值的填写要求如下:
- 预留资源:资源配额(Min-Max)的最大值不能超过所选计算资源池的容量上限。若需更高配额,请先对资源池进行扩容,扩容操作详情请参考扩缩容计算资源池。
- 混合模式:资源配额(Min-Max)的最大值可超过所选计算资源池的容量上限,超出预留上限的部分将自动调度至弹性资源运行。
资源配额最大值
选择“按需弹性”的资源模式后,需要配置端点资源配额最大值,即设置弹性资源的使用上限,防止突发流量导致资源无限扩展,导致费用突增。同时系统根据设置的资源配额最大值可以进行合理的资源调度和分配。
- 配置镜像。 镜像用于为端点或作业指定运行环境。SparkSQL仅支持选择预置镜像。单击下拉菜单,单击预置镜像名称,并勾选镜像版本,单击“确定”。
建议您创建镜像快照,提升镜像加载速度。具体操作,请参见镜像加速。- 镜像快照可将镜像版本的数据预先缓存到本地。创建镜像快照后,容器启动时直接复用快照中的缓存镜像数据,跳过从镜像仓库下载的环节,缩短镜像拉取与容器启动时间,提升作业运行效率。
- 如果当前所选镜像版本已创建镜像快照,选择该版本镜像时会自动关联对应的镜像快照,端点容器启动时自动使用快照创建资源,无需额外操作。
- 配置端点的“集群配置”信息。
Driver和Executors设置的CPU核数需要小于您上述配置的资源配额(Min-Max)的最大值或资源配额最大值。
- 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生命周期规则(按目录分别配置保留天数,建议不小于七天),以定时删除无效的存储文件,避免存储空间占用与费用累积。具体操作,请参见配置生命周期规则。
委托名
配置用于读写作业event log、日志和临时数据等信息所使用的委托(即权限委托,如IAM委托)。
通过下拉菜单选择已有的委托。若未配置,可单击“新建委托”进行创建。
- 请根据界面提示,按需配置监控对接AOM。
表9 配置监控对接AOM 参数
参数说明
监控对接AOM
按需勾选“监控对接AOM”。
对接AOM后,应用指标统一上报至AOM进行集中管理。您可基于AOM实现实时指标采集、自定义监控、告警配置与运维大盘可视化,全面掌控服务状态。指标及含义详情请参见Spark端点资源和作业指标。
选择Prometheus实例
在下拉列表选择Prometheus实例,如果没有可选的Prometheus实例,请单击“新建实例”。
- 配置网络信息。
在资源模式选择为“按需弹性”时,且工作空间没有创建网络时,需要创建网络并选择资源的网络信息。一个工作空间只支持创建一个网络。创建网络详情请参见创建网络。
- 完成上述信息的配置后,单击“立即创建”,系统按照配置要求开始创建端点。
端点创建完成后,可在列表中查看相关信息,端点状态变为“运行中”后即可提交作业到该端点中运行。
创建SparkJob类型的端点
- 登录AI DataLake管理控制台。
- 在页面左上角切换至对应的工作空间。
- 在左侧导航栏选择“引擎端点 > 批处理引擎Spark”进入端点列表页面。
- 单击页面右上角的“创建端点”,配置端点信息。
- 配置端点的基础信息。
表10 端点的基础信息 参数
参数说明
端点类型
选择端点类型为SparkJob。
端点名称
端点名称创建后不可修改。
端点名称是系统内部的唯一标识,在API调用、CLI命令中引用该端点。
命名规则:
- 名称只能包含小写字母、数字、中划线,且只能以字母开头,以字母或数字结尾。
- 输入长度不能超过63个字符。
例如:spark-endpoint-001、my-spark-job
端点显示名称
端点显示名称创建后可修改。
端点显示名称用于用户界面展示,方便用户识别和记忆。
命名规则:
- 名称只能输入中文、英文、数字、中划线。
- 输入长度不能超过63个字符。
例如:生产环境Spark引擎、数据分析师专用端点
描述
填写描述信息,用于详细说明端点的用途、背景等信息,帮助其他用户理解该端点的创建目的和使用场景。
标签
选择端点的标签,用于对端点进行分类、标识和管理。关于标签的管理详情请参见管理AI DataLake标签。
- 配置端点的“资源配置”类信息。
表11 批处理引擎Spark端点配置-资源配置 参数
参数说明
资源使用模式
选择资源使用模式。
端点资源模式配置为“混合模式”或“按需弹性”时,系统将触发弹性资源调度。该模式下即视为您授权AI DataLake获取您的任务与资源数据用于特定功能处理,并代表您执行相关操作。
- 预留资源:使用预留资源池,资源独享。适合负载稳定、持续运行的业务场景,如生产项目、关键任务。
- 混合模式:基线保障,自动扩容。优先消耗预留资源,高峰期自动触发弹性补位。适用于有规律波动的业务。
- 按需弹性:按任务实际运行时长扣费,无任务不产生费用。适合短期或偶发性的业务需求,如开发测试或临时任务。
注意:在资源模式选择为“按需弹性”时,且工作空间没有创建网络时,需要创建网络并选择资源的网络信息。一个工作空间只支持创建一个网络。创建网络详情请参见创建网络。
选择计算资源池
选择“预留资源”或“混合模式”后,需要选择计算资源池。可以单击右侧的“购买计算资源”去进行购买。
规格配置
选择了计算资源后,需要设置资源配额(Min-Max)的最大值。最大值的填写要求如下:
- 预留资源:资源配额(Min-Max)的最大值不能超过所选计算资源池的容量上限。若需更高配额,请先对资源池进行扩容。
- 混合模式:资源配额(Min-Max)的最大值可超过所选计算资源池的容量上限,超出预留上限的部分将自动调度至弹性资源运行。
资源配额最大值
选择“按需弹性”的资源模式时需要配置资源配额最大值,即设置弹性资源的使用上限,防止突发流量导致资源无限扩展,耗尽集群算力。同时系统根据设置的资源配额最大值可以进行合理的资源调度和分配。
- 配置镜像。
镜像用于为端点或作业指定运行环境。SparkJob支持选择预置镜像和自定义镜像。请单击下拉菜单,在“预置镜像”或“自定义镜像”页签中选择镜像名称,并勾选镜像版本,单击“确定”。
如果当前已有的预置镜像不满足您的业务需求,可以参考自定义镜像制作并注册自定义镜像后,在此处进行选择。
自定义镜像可以改变作业的容器运行环境,增强作业的功能与性能。
建议您创建镜像快照,提升镜像加载速度。具体操作,请参见镜像加速。- 镜像快照可将镜像版本的数据预先缓存到本地。创建镜像快照后,容器启动时直接复用快照中的缓存镜像数据,跳过从镜像仓库下载的环节,缩短镜像拉取与容器启动时间,提升作业运行效率。
- 如果当前所选镜像版本已创建镜像快照,选择该版本镜像时会自动关联对应的镜像快照,端点容器启动时自动使用快照创建资源,无需额外操作。
- 配置端点的“调度配置”信息。 用于设置端点最大并发作业数量与作业调度策略,在多用户、多任务场景下合理调度作业,提升资源利用率。
表12 端点调度配置 参数
参数说明
端点最大并发作业数量
端点能够同时处理的作业最大数量。超过此数量的请求将被拒绝,即请求失败。
作业调度策略
AI DataLake支持的作业调度策略如下:
- 随机(RANDOM):根据随机选择的方式选择作业进行处理。每次调度时,随机选择一个作业执行,而不是按照作业到达顺序或优先级。
- 先进先出(FIFO):作业按照到达的顺序排队等待处理。最早到达的作业最先被处理,然后是第二个到达的作业,依此类推。
关于作业调度策略具体的定义,调度特征及适用场景等详情请参见表13。
FIFO允许并发时间(秒)
当作业调度策略设置为FIFO,还需要设置允许作业并发提交时间窗口,提交时间在同一时间窗口内的作业随机抢占资源,不同时间窗口间的作业通过先进先出分配。
表13 支持的资源调度策略详情 类型
RANDOM(随机)
FIFO(先进先出)
定义
RANDOM调度策略是根据随机选择的方式选择作业进行处理。每次调度时,随机选择一个作业执行,而不是按照作业到达顺序或优先级。
FIFO是指作业按照到达的顺序排队等待处理。最早到达的作业最先被处理,然后是第二个到达的作业,依此类推。
调度特征
对于通用队列提交的作业,同一时间段内运行的所有作业将同时去抢占资源,不能保证作业的执行顺序。
对于通用队列提交的作业:
- 同一个时间窗口内的作业将同时去抢占资源;
- 不同时间窗口内的作业按照提交时间顺序请求资源,保证不同时间间隔内的作业执行是顺序的。
适用场景
适用于动态调度的场景,随机选择任务可以避免某些任务长时间占用资源。
例如人机交互场景,多个数据工程师一起提交作业,均希望能看到作业的进展。
适用于整体任务场景,提交的多个作业为一个整体任务,只关注吞吐和最后完成时间,而不关心单个作业的完成时间。
优势
同一时间段内可以运行多个作业,调度顺序不可预测。
按照作业的提交时间顺序执行作业。
注意事项
可能存在需要资源多的作业由于资源不够一直运行不起来。
可能存在一个大作业占用绝大部分资源,导致同队列其他作业一直处于等待状态。
不同时间窗的作业才会按照作业优先级提交作业。
- 配置Spark参数。
以“key=value”的形式设置提交Spark作业的属性。
- 键(Key):输入Spark作业所需的配置参数名称,例如spark.sql.adaptive.enabled、spark.executor.memory等。
- 值(Value):为对应的键设置参数值,例如true、4g等。
- 配置端点的“存储配置”信息。
表14 存储配置信息 参数
参数说明
选择临时文件存储
通过下拉菜单选择已有的并行文件系统。若未配置,可单击“新建OBS并行文件系统”进行创建。具体操作,请参见创建并行文件系统。
并行文件系统用于存储作业日志和临时数据等信息。作业结束后文件不会自动删除,建议您定期对并行文件系统做资源清理,或配置OBS生命周期规则(按目录分别配置保留天数,建议不小于七天),以定时删除无效的存储文件,避免存储空间占用与费用累积。具体操作,请参见配置生命周期规则。
委托名
配置用于读写作业event log、日志和临时数据等信息所使用的委托(即权限委托,如 IAM 委托)。
通过下拉菜单选择已有的委托。若未配置,可单击“新建委托”进行创建,具体操作请参考创建自定义委托。
- 配置作业委托
使用Spark引擎执行作业时,需要您先在IAM页面创建相关委托,并在此处添加新建的委托信息。具体操作请参考创建自定义委托。
常见新建委托场景:允许AI DataLake读写OBS将日志转储、允许AI DataLake在访问DEW获取数据访问凭证、允许访问LakeFormation获取元数据等场景。
- 请根据界面提示,按需配置监控对接AOM。
表15 配置监控对接AOM 参数
参数说明
监控对接AOM
按需勾选“监控对接AOM”。
对接AOM后,应用指标统一上报至AOM进行集中管理。您可基于AOM实现实时指标采集、自定义监控、告警配置与运维大盘可视化,全面掌控服务状态。
选择Prometheus实例
在下拉列表选择Prometheus实例,如果没有可选的Prometheus实例,请单击“新建实例”。
- 配置网络信息。
在资源模式选择为“按需弹性”时,且工作空间没有创建网络时,需要创建网络并选择资源的网络信息。一个工作空间只支持创建一个网络。创建网络详情请参见创建网络。
- 完成上述信息的配置后,单击“立即创建”,系统按照配置要求开始创建端点。
端点创建完成后,可在列表中查看相关信息,端点状态变为“运行中”后即可提交作业到该端点中运行。