このトピックでは、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)
サンプルコード
コミットする方法
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)
サンプルコード
コミットする方法
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」をご参照ください。