Todos os produtos
Search
Central de documentação

:Exemplos do Spark 1.x

Última atualização: Jul 04, 2026

Este tópico descreve a configuração de dependências do Spark 1.x e apresenta exemplos relacionados.

Configurar dependências do Spark 1.x

Para enviar aplicações pelo cliente Spark do MaxCompute, adicione as seguintes dependências ao arquivo pom.xml.

<properties>
    <spark.version>1.6.3</spark.version>
    <cupid.sdk.version>3.3.3-public</cupid.sdk.version>
    <scala.version>2.10.4</scala.version>
    <scala.binary.version>2.10</scala.binary.version>
</properties>
<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-core_${scala.binary.version}</artifactId>
    <version>${spark.version}</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-sql_${scala.binary.version}</artifactId>
    <version>${spark.version}</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-mllib_${scala.binary.version}</artifactId>
    <version>${spark.version}</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-streaming_${scala.binary.version}</artifactId>
    <version>${spark.version}</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>com.aliyun.odps</groupId>
    <artifactId>cupid-sdk</artifactId>
    <version>${cupid.sdk.version}</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>com.aliyun.odps</groupId>
    <artifactId>hadoop-fs-oss</artifactId>
    <version>${cupid.sdk.version}</version>
</dependency>
<dependency>
    <groupId>com.aliyun.odps</groupId>
    <artifactId>odps-spark-datasource_${scala.binary.version}</artifactId>
    <version>${cupid.sdk.version}</version>
</dependency>
<dependency>
    <groupId>org.scala-lang</groupId>
    <artifactId>scala-library</artifactId>
    <version>${scala.version}</version>
</dependency>
<dependency>
    <groupId>org.scala-lang</groupId>
    <artifactId>scala-actors</artifactId>
    <version>${scala.version}</version>
</dependency>

No código acima, os escopos (Scope) são definidos da seguinte forma:

  • Pacotes da comunidade Spark, como spark-core e spark-sql, usam o escopo provided.

  • O componente odps-spark-datasource usa o escopo padrão compile.

Exemplo de WordCount (Scala)

  • Exemplo de código

    WordCount.scala

  • Como envie

    cd /path/to/MaxCompute-Spark/spark-1.x
    mvn clean package
    
    # 环境变量spark-defaults.conf的配置请参见搭建开发环境。
    cd $SPARK_HOME
    bin/spark-submit --master yarn-cluster --class com.aliyun.odps.spark.examples.WordCount \
        /path/to/MaxCompute-Spark/spark-1.x/target/spark-examples_2.10-1.0.0-SNAPSHOT-shaded.jar

Exemplo de leitura e gravação em tabelas do MaxCompute (Scala)

  • Exemplo de código

    SparkSQL.scala

  • Como envie

    cd /path/to/MaxCompute-Spark/spark-1.x
    mvn clean package
    # 环境变量spark-defaults.conf的配置请参见搭建开发环境。
    cd $SPARK_HOME
    bin/spark-submit --master yarn-cluster --class com.aliyun.odps.spark.examples.sparksql.SparkSQL \
        /path/to/MaxCompute-Spark/spark-1.x/target/spark-examples_2.10-1.0.0-SNAPSHOT-shaded.jar

Exemplo de leitura e gravação em tabelas do MaxCompute (Python)

Consulte o exemplo em Python para leitura e gravação em tabelas do MaxCompute em spark_sql.py.

Exemplo de leitura e gravação em tabelas do MaxCompute (Java)

Consulte o exemplo em Java para leitura e gravação em tabelas do MaxCompute em JavaSparkSQL.java.