ADB Spark节点

DataWorksADB Spark节点可进行AnalyticDB Spark任务的开发和周期性调度,以及与其他作业的集成操作。本文为您介绍使用ADB Spark节点进行任务开发的主要流程。

背景信息

ADB SparkAnalyticDB服务中专为运行Apache Spark大规模数据处理任务设计的计算资源,支持实时数据分析、复杂查询和机器学习应用。它通过多语言支持(如Java、Scala、Python)简化开发流程,并能自动扩展以优化性能和成本。用户可通过上传相关Jar.py文件配置任务,适用于需高效处理海量数据并实现实时洞察的各类行业,助力企业从数据中获取有价值的信息并推动业务发展。

前提条件

AnalyticDB for MySQL前提条件:

  • 已创建与工作空间同一地域下的AnalyticDB for MySQL企业版、湖仓版或基础版集群,详情请参见创建集群

  • 已在AnalyticDB for MySQL集群中配置Job型资源组,详情请参见新建Job型资源组

    说明

    通过DataWorks开发Spark应用时,需创建Job型资源组。

  • 如需ADB Spark节点中使用OSS存储,须确保OSS存储与AnalyticDB for MySQL集群处于相同地域。

DataWorks前提条件:

  • 已有勾选参加数据开发(DataStudio)(新版)公测的工作空间,并已完成资源组的绑定,详情请参见创建工作空间

  • 资源组需要绑定与AnalyticDB for MySQL集群同一个VPC,并在AnalyticDB for MySQL集群中配置资源组IP地址白名单,详情请参见设置白名单

  • 您需将创建的AnalyticDB for MySQL集群实例添加到DataWorks作为计算资源,计算资源类型为AnalyticDB for Spark,并通过资源组测试连通性,详情请参见绑定计算资源(参加新版数据开发公测)

  • 已了解项目空间数据开发流程及其前提条件,详情请参见项目目录

  • 已创建ADB Spark节点。

步骤一:开发ADB Spark节点

ADB Spark节点里面,您可根据语言类型的不同,使用示例代码准备的示例Jarspark-examples_2.12-3.2.0.jar或者spark_oss.py文件对节点内容进行相应配置。节点内容开发详情请参见通过Spark-Submit命令行工具开发Spark应用

ADB Spark节点内容配置说明(Java/Scala语言类型)

准备待执行文件(Jar)

您需将示例Jar包上传至OSS中,以供后续在节点配置中执行该Jar包文件。

  1. 准备示例Jar包。

    您可直接下载该示例Jar包,用于后续ADB Spark节点使用。

  2. 将示例代码上传到OSS。

    1. 登录OSS管理控制台单击左侧导航栏的Bucket列表

    2. 进入Bucket列表页面,单击创建Bucket,在创建 Bucket详情页面选择与AnalyticDB for MySQL集群相同的地域创建Bucket。

      说明

      本文示例使用的Bucketdw-1127

    3. 创建外部存储目录。

      完成创建后,单击进入Bucket,在文件列表页面单击新建目录,创建数据库外部存储目录,配置目录名db_home

    4. 请将您所创建的示例代码spark-examples_2.12-3.2.0.jar文件上传至db_home目录下,详情参见控制台上传文件

配置ADB Spark节点

您可参照以下参数配置信息,配置ADB Spark节点内容。

语言类型

参数名称

参数描述

Java/Scala

Jar资源

Jar包资源在OSS上的存储路径。示例值如:oss://dw-1127/db_home/spark-examples_2.12-3.2.0.jar

Main Class

为您实际编译的JAR包中的任务主Class。示例代码中的主类名称为org.apache.spark.examples.SparkPi

参数

填写您所需传入代码的参数信息。您可将该参数配置为动态参数${var}

说明

示例中的动态参数${var}可设置为1000

配置项

您可在此配置spark程序运行参数,详情请参见Spark应用配置参数说明。示例如下:

spark.driver.resourceSpec:medium

ADB Spark节点内容配置说明(Python语言类型)

准备待执行文件(Python)

您需按照以下操作步骤,完成测试数据文件、示例代码上传到OSS,以供后续在节点配置中执行该示例代码读取测试数据文件信息。

  1. 准备测试数据。

    新建一个data.txt文件,在文件中添加以下内容。

    Hello,Dataworks
    Hello,OSS
  2. 编写示例代码。

    您需新建一个spark_oss.py文件,在spark_oss.py文件中添加以下内容。

    import sys
    
    from pyspark.sql import SparkSession
    
    # 初始Spark
    spark = SparkSession.builder.appName('OSS Example').getOrCreate()
    # 读取指定的文件,文件路径由args传入的参数值来指定
    textFile = spark.sparkContext.textFile(sys.argv[1])
    # 计算文件行数并打印
    print("File total lines: " + str(textFile.count()))
    # 打印文件的第一行内容
    print("First line is: " + textFile.first())
    
  3. 上传测试数据及示例代码到OSS。

    1. 登录OSS管理控制台单击左侧导航栏的Bucket列表

    2. 进入Bucket列表页面,单击创建Bucket,在创建 Bucket详情页面选择与AnalyticDB for MySQL集群相同的地域创建Bucket。

      说明

      本文示例使用的Bucketdw-1127

    3. 创建外部存储目录。

      完成创建后,单击进入Bucket,在文件列表页面单击新建目录,创建数据库外部存储目录,配置目录名db_home

    4. 请将您所创建的测试数据data.txt文件、示例代码spark_oss.py文件上传至db_home目录下,详情参见控制台上传文件

配置ADB Spark节点

您可参照以下参数配置信息,配置ADB Spark节点内容。

语言类型

参数名称

参数描述

Python

主程序包

填写您所需执行的示例代码文件存储位置,示例值如oss://dw-1127/db_home/spark_oss.py

参数

填写您所需传入的参数值。示例信息为读写的测试数据文件存储位置,示例值如oss://dw-1127/db_home/data.txt

配置项

您可在此配置spark程序运行参数,详情请参见Spark应用配置参数说明。示例如下:

spark.driver.resourceSpec:medium

步骤二:调试ADB Spark节点

  1. 配置ADB Spark调试属性。

    您可在节点右侧调试配置中配置计算资源ADB计算资源组调度资源组计算CU信息,具体参数信息如下。

    参数类型

    参数名称

    描述

    计算资源

    计算资源

    选择您所绑定的AnalyticDB for Spark计算资源。

    ADB计算资源组

    选择您在AnalyticDB for MySQL集群中创建的Job型资源组。详情请参见资源组介绍

    DataWorks配置

    资源组

    选择您绑定AnalyticDB for Spark计算资源时已通过测试连通性的资源组。

    计算CU

    当前节点使用默认CU值,无需修改CU。

  2. 调试运行ADB Spark节点。

    执行节点任务,您需单击保存运行节点任务。

步骤三:调度ADB Spark节点

  1. 配置ADB Spark节点调度属性。

    如需定期执行节点任务,请根据业务需求在节点右侧调度配置调度策略中配置以下参数信息,更多参数配置,详情请参见调度配置

    参数类型

    参数名称

    描述

    计算资源

    计算资源

    选择您所绑定的AnalyticDB for Spark计算资源。

    ADB计算资源组

    选择您在AnalyticDB for MySQL集群中创建的Job型资源组。详情请参见资源组介绍

    DataWorks配置

    资源组

    选择您绑定AnalyticDB for Spark计算资源时已通过测试连通性的资源组。

    计算CU

    当前节点使用默认CU值,无需修改CU。

  2. 发布ADB Spark节点。

    节点任务配置完成后,需对节点进行发布。详情请参见节点发布

后续步骤

任务发布后,您可以在运维中心查看周期任务的运行情况。详情请参见运维中心入门