云原生数据仓库AnalyticDB MySQL版新增了Spark计算引擎,本文介绍了如何购买及管理Spark计算节点。

介绍

注意 功能正在灰度测试中,如需要体验,请提工单联系技术支持人员。

Spark是专为大规模数据处理而设计的快速通用的计算引擎。云原生数据仓库AnalyticDB MySQL版支持对接Spark引擎,提供分析AnalyticDB MySQL数据库的能力。

开通Spark计算节点

开通AnalyticDB MySQL版集群后,才能购买Spark计算节点。

  1. 使用阿里云账号登录AnalyticDB MySQL版控制台
  2. 单击待开通Spark计算节点的集群名称。
  3. 单击Spark管理 > 集群管理
  4. 单击创建,进入Spark集群购买界面。
  5. 选择计算节点个数,单击立即购买,完成Spark计算节点的购买。
    说明
    • 计算节点个数选择上限为200,每个计算节点费用是5.6元/小时。
    • 在开通后集群还在创建的过程中,Spark和Airflow相关功能都处于禁用状态。

集群管理

  1. 在AnalyticDB MySQL版控制台,单击已开通Spark集群的集群名称。
  2. 单击Spark管理 > 集群管理,界面展示了该Spark集群的基本信息和状态。
  3. 单击设置UI访问密码设置UI的访问用户名和密码,用户名和密码在创建成功之后需要等待3分钟生效。

资源管理

  1. 在集群管理界面,单击Spark管理 > 资源管理
  2. 在资源管理界面,您可以将自己编辑的Spark任务jar包上传至OSS目录,通过该jar包运行Spark任务。
    • 上传文件:将自己编辑的Spark任务的jar包上传至OSS目录。
    • 上传目录:将目录下的jar包批量上传。
    • 添加文件夹:添加文件夹管理用户上传的jar包。
    • 删除资源:删除不需要的jar包。
    说明 上传后的文件可以预览、删除、下载等。单击复制路径,可以拷贝文件的OSS路径,用于在Airflow脚本中设置参数。

作业测试

  1. 在集群管理界面,单击Spark管理 > 作业测试
  2. 填写相关参数,参数说明请参见。
    字段名 字段类型 是否必填 字段说明
    className String Java或者Scala程序入口类,例如com.aliyun.spark.oss.SparkReadOss。如果是Python则不需要指定。
    conf Map 与开源Spark中的配置项相同,参数格式为key: value形式。若不填写conf,系统使用创建虚拟集群时设置的默认值。

    spark.adb.userName:必填项。

    file String Spark任务主文件的存储位置,可以是入口类所在的Jar包或者Python的入口执行文件。
    jars List<String> Spark任务依赖的jar包。Jar包在作业运行时会被加入到Driver和Executor JVM的ClassPath里面。
    proxyUser String 运行Job时的代理用户。
    args List<String> Spark任务传入的参数。
    pyFiles List PySpark依赖的Python文件,后缀可以是zip、py和egg。如果依赖多个python文件,建议用户使用zip或者egg文件包。这些文件可以直接在python代码中以module的方式引用。
    files List Spark任务依赖的文件资源,文件会被下载到Driver和Executor进程的当前执行目录下。文件可以指定别名,比如“oss://bucket/xx/yy.txt#yy”,用户在代码中只需要使用./yy就可以访问文件,否则使用“./yy.txt”。
    driverMemory String 每个driver进程使用的内存大小。
    driverCores Integer 每个driver进程使用的CPU核数。
    executorMemory String 每个executor进程使用的内存大小。
    executorCores Integer 每个executor使用的CPU核数。
    numExecutors Integer 每个session对应使用的executor个数,建议填写上。
    archives List Spark任务依赖的文件包资源,目前支持zip、tgz、tar、tar.gz后缀。文件包会被解压到当前Spark进程的当前目录下。文件包可以指定别名,比如“oss://bucket/xx/yy.zip#yy”,用户在代码中只需要使用“./yy/zz.txt”就可以访问解压后的文件,否则使用“./yy.zip/zz.txt”访问文件(假设“zz.txt”是“yy.zip”压缩包中的文件)。
    queue String 提交作业的Yarn队列名。
    name String Spark任务名称,建议填写上。
  3. 单击测试运行,检测上述步骤上传的jar包功能是否正常。
    说明Spark管理 > 集群管理,单击Yarn集群UI,在弹出的界面中查看jar包的测试结果。