带有cassandra的多个Apache spark版本

时间:2015-05-19 22:36:20

标签: apache-spark datastax

我正在使用spark-cassandra-connector。我安装了Spark 1.3.1和Cassandra 2.0.14。出于某种原因想尝试Spark 1.2.2。我应该如何配置我的elipse java项目使用spark 1.2.2而不是1.3.1。 这些是app中唯一的配置设置:

     String cassandraHost = "127.0.0.1";
     SparkConf conf = new SparkConf(true);
     conf.set("spark.cassandra.connection.host", cassandraHost);
     conf.set("spark.cleaner.ttl", "3600");
     conf.setMaster("local");
     conf.setAppName(appName);

     JavaSparkContext context = new JavaSparkContext(conf);

1 个答案:

答案 0 :(得分:1)

我认为你应该创建一个maven项目并声明spark依赖的版本是这样的属性:

<dependency>
  <groupId>org.apache.spark</groupId>
  <artifactId>spark-sql_${scala.binary.version}</artifactId>
  <version>${spark.version}</version>
  <scope>provided</scope>
</dependency>

在构建jar之前相应地更改spark.version

或者,您可以创建两个配置文件来覆盖上面的spark.version属性:

<profile>
  <id>spark-1.2</id>
  <properties>
    <spark.version>1.2.2</spark.version>
  </properties>
</profile>
<profile>
  <id>spark-1.3</id>
  <properties>
    <spark.version>1.3.1</spark.version>
  </properties>
</profile>

并相应地使用不同的个人资料。