すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:Spark 1.xの例

最終更新日:Jan 07, 2025

このトピックでは、Spark 1.xの依存関係を設定する方法と例について説明します。

Spark 1.xの依存関係の設定

MaxComputeでSparkを使用してSpark 1.xアプリケーションを送信する場合は、次の依存関係を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>

上記のコードでは、次の手順に基づいてscopeパラメーターを設定します。

  • spark-core および spark-sql のような Apache Spark コミュニティでリリースされたすべてのパッケージについて、このパラメーターを provided に設定します。

  • odps-spark-datasource については、このパラメーターを compile に設定します。

WordCountの例 (Scala)

  • サンプルコード

    WordCount.scala

  • コミットする方法

    cd /path/to/MaxCompute-Spark/spark-1.x
    mvn clean package
    
    # For more information about how to configure the environment variables in the spark-defaults.conf file, see Set up a Spark on MaxCompute development environment. 
    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

MaxComputeテーブルからのデータの読み取りまたはMaxComputeテーブルへのデータの書き込み例 (Scala)

  • サンプルコード

    SparkSQL.scala

  • コミットする方法

    cd /path/to/MaxCompute-Spark/spark-1.x
    mvn clean package
    # For more information about how to configure the environment variables in the spark-defaults.conf file, see Set up a Spark on MaxCompute development environment. 
    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

MaxComputeテーブルからのデータの読み取りまたは書き込みの例 (Python)

MaxComputeテーブルからデータを読み書きするためのPythonサンプルコードの詳細については、「spark_sql.py」をご参照ください。

MaxComputeテーブルからのデータの読み取りまたは書き込みの例 (Java)

MaxComputeテーブルからデータを読み書きするためのJavaサンプルコードの詳細については、「JavaSparkSQL.java」をご参照ください。