Todos os produtos
Search
Central de documentação

AnalyticDB:Introdução ao desenvolvimento de aplicações Spark

Última atualização: Jun 27, 2026

O AnalyticDB for MySQL utiliza o mesmo método de desenvolvimento para aplicações Spark em lote e streaming. Este tópico descreve as ferramentas de desenvolvimento disponíveis, os parâmetros de configuração e os parâmetros específicos de linguagem para aplicações Java, Scala e Python.

Pré-requisitos

Antes de começar, verifique se:

  • Você tem um cluster do AnalyticDB for MySQL

  • Você tem um bucket do Object Storage Service (OSS) na mesma região do cluster

Armazene todos os arquivos da aplicação — JARs, arquivos Python, dependências e pacotes compactados — no OSS.

Ferramentas de desenvolvimento

Use uma das seguintes ferramentas para desenvolver aplicações Spark em lote e streaming:

Configuração da aplicação

Configure as aplicações Spark no AnalyticDB for MySQL usando JSON. O exemplo a seguir mostra uma aplicação Java que lê dados do OSS, incluindo os parâmetros comuns (name, file, conf) e os parâmetros específicos para Java (args, className).

{
  "args": ["args0", "args1"],
  "name": "spark-oss-test",
  "file": "oss://<testBucketName>/jars/test/spark-examples-0.0.1-SNAPSHOT.jar",
  "className": "com.aliyun.spark.oss.SparkReadOss",
  "conf": {
    "spark.driver.resourceSpec": "medium",
    "spark.executor.resourceSpec": "medium",
    "spark.executor.instances": 2,
    "spark.adb.connectors": "oss"
  }
}

Para obter detalhes sobre os parâmetros específicos de cada linguagem, consulte Parâmetros de aplicação Java, Parâmetros de aplicação Scala ou Parâmetros de aplicação Python.

Parâmetros comuns

Parâmetro

Obrigatório

Descrição

Exemplo

name

Não

Nome da aplicação Spark.

"name": "spark-oss-test"

file

Sim (Java, Scala, Python)

Caminho absoluto no OSS do arquivo principal da aplicação. Para Java e Scala, refere-se ao arquivo JAR com o ponto de entrada. Para Python, é o ponto de entrada executável. O bucket do OSS deve estar na mesma região do cluster.

"file": "oss://<testBucketName>/jars/test/spark-examples-0.0.1-SNAPSHOT.jar"

files

Não

Caminhos no OSS de arquivos adicionais para baixe nos diretórios de trabalho do driver e do executor. Aceita aliases com # (por exemplo, oss://<testBucketName>/test/test1.txt#test1 torna o arquivo acessível como ./test1 ou ./test1.txt). Separe vários caminhos com vírgulas. Se você incluir log4j.properties, o Spark o usará como arquivo de configuração de log.

"files": ["oss://<testBucketName>/path/to/file1", "oss://<testBucketName>/path/to/file2"]

archives

Não

Caminhos no OSS de pacotes compactados TAR.GZ para descompactar no diretório de trabalho do processo Spark. Aceita aliases com # (por exemplo, oss://testBucketName/test/test1.tar.gz#test1 torna test2.txt interno acessível como ./test1/test2.txt ou ./test1.tar.gz/test2.txt). Separe vários caminhos com vírgulas. A falha na descompactação de um pacote causa a falha do job.

"archives": ["oss://<testBucketName>/path/to/archive1.tar.gz", "oss://<testBucketName>/path/to/archive2.tar.gz"]

conf

Sim

Configuração do Spark no formato key: value, semelhante ao Apache Spark. Separe várias entradas com vírgulas. Para parâmetros específicos do AnalyticDB for MySQL, consulte Parâmetros de configuração de aplicação Spark.

"conf": {"spark.driver.resourceSpec": "medium", "spark.executor.resourceSpec": "medium", "spark.executor.instances": 2, "spark.adb.connectors": "oss"}

Parâmetros de aplicação Java

Parâmetro

Obrigatório

Descrição

Exemplo

args

Não

Argumentos passados para o JAR. Separe vários argumentos com vírgulas.

"args": ["args0", "args1"]

className

Sim

Classe principal da aplicação Java.

"className": "com.aliyun.spark.oss.SparkReadOss"

jars

Não

Caminhos absolutos no OSS de arquivos JAR adicionais incluídos nos classpaths da JVM (Java Virtual Machine) do driver e do executor durante a execução. O bucket do OSS deve estar na mesma região do cluster. Separe vários caminhos com vírgulas.

"jars": ["oss://<testBucketName>/path/to/app.jar", "oss://testBucketName/path/to/lib.jar"]

Parâmetros de aplicação Scala

Parâmetro

Obrigatório

Descrição

Exemplo

className

Sim

Classe principal da aplicação Scala.

"className": "com.aliyun.spark.oss.SparkReadOss"

jars

Não

Caminhos absolutos no OSS de arquivos JAR adicionais incluídos nos classpaths da JVM do driver e do executor durante a execução. O bucket do OSS deve estar na mesma região do cluster. Separe vários caminhos com vírgulas.

"jars": ["oss://<testBucketName>/path/to/app.jar", "oss://testBucketName/path/to/lib.jar"]

Parâmetros de aplicação Python

Parâmetro

Obrigatório

Descrição

Exemplo

pyFiles

Sim

Caminhos no OSS de arquivos Python para a aplicação PySpark. Formatos aceitos: ZIP, PY ou EGG. Para múltiplos arquivos, use o formato ZIP ou EGG. Os arquivos Python podem ser importados como módulos no seu código. Separe vários caminhos com vírgulas.

"pyFiles": ["oss://<testBucketName>/path/to/app.zip", "oss://<testBucketName>/path/to/lib.egg"]