
# 创建Spark引擎端点
#### 操作场景
在提交Spark作业前，用户需要先创建Spark引擎端点，这是与AI DataLake引擎建立连接的第一步。Spark引擎端点相当于一个计算资源的入口，通过这个端点，用户可以与AI DataLake引擎进行交互，提交各种数据处理和分析任务。
端点创建完成后，用户可以使用该端点创建和运行Spark作业，包括执行Spark SQL查询、运行Spark应用程序、进行数据清洗转换等操作。端点的创建过程通常需要用户配置选择端点类型、计算资源使用模式等参数，配置完成后系统会自动分配相应的计算资源，用户即可开始使用Spark引擎进行大规模数据处理工作。
本节操作介绍创建Spark引擎端点的操作步骤。
不同的端点类型配置的参数不同。
表1端点类型和配置说明 
| 端点类型         | 说明                                                                                                                                 | 相关链接                                                   |
|:---|:---|:---|
| **SparkSQL** | 适用于数据查询和分析的Spark SQL场景，通过编写SQL语句快速完成数据的筛选、聚合、计算等操作，满足数据分析师需要快速探索数据的业务需求。 SparkSQL端点仅支持选择预置镜像。 | [创建SQL类型的端点]  |
| **SparkJob** | 适用于复杂数据处理的Spark Job场景，适合执行大规模数据转换、机器学习模型训练、ETL作业等复杂的数据处理任务。 SparkJob端点支持选择预置镜像和自定义镜像。         | [创建Job类型的端点] |
   
 #### 创建SQL类型的端点
1. 登录[AI DataLake管理控制台](https://console.huaweicloud.com/fabric/)。
2. 在页面左上角切换至对应的工作空间。
3. 在左侧导航栏选择"引擎端点 \> 批处理引擎Spark"进入端点列表页面。
4. 单击页面右上角的"创建端点"，配置端点信息。

5. 配置端点的基础信息。 
   表2端点的基础信息 
   | 参数     | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   |:---|:---|
   | 端点类型   | 选择端点类型为**SparkSQL**。                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | 端点名称   | 端点名称创建后不可修改。 端点名称是系统内部的唯一标识，在API调用、CLI命令中引用该端点，不可与已存在的端点重名。 命名规则： - 名称只能包含小写字母、数字、中划线，且只能以字母开头，以字母或数字结尾。  - 输入长度不能超过63个字符。   例如：spark-endpoint-001、my-spark-job |
   | 端点显示名称 | 端点显示名称创建后可修改。 端点显示名称用于用户界面展示，方便用户识别和记忆。 命名规则： - 名称只能输入中文、英文、数字、中划线。  - 输入长度不能超过63个字符。   例如：生产环境Spark引擎、数据分析师专用端点                                          |
   | 描述     | 填写描述信息，用于详细说明端点的用途、背景等信息，帮助其他用户理解该端点的创建目的和使用场景。                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | 标签     | 选择端点的标签，用于对端点进行分类、标识和管理。关于标签的管理详情请参见[管理AI DataLake标签](https://support.huaweicloud.com/usermanual-aidatalake/aidatalake_01_0096.html)。                                                                                                                                                                                                                                                                                                                                   |
      
   
   

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