【发布时间】:2016-09-22 03:28:43
【问题描述】:
我想在 Cassandra 上使用 Spark。我目前已经安装了 Spark 2.0 和 Cassandra 3.7。我应该使用哪个版本的 spark-cassandra-connector 以及我必须包含哪些其他 maven 依赖项?还是我必须回退到旧版本的 Spark 和/或 Cassandra?
我正在尝试运行以下示例:
// Generate products hierarchy
final List<Product> products = Arrays.asList(
new Product(0, "All Products", Collections.<Integer>emptyList()),
new Product(1, "Product A", Arrays.asList(0)),
new Product(4, "Product A1", Arrays.asList(0,1)),
new Product(5, "Product A2", Arrays.asList(0,1)),
new Product(2, "Product B", Arrays.asList(0)),
new Product(6, "Product B1", Arrays.asList(0,2)),
new Product(7, "Product B2", Arrays.asList(0,2)),
new Product(3, "Product C", Arrays.asList(0)),
new Product(8, "Product C1", Arrays.asList(0,3)),
new Product(9, "Product C2", Arrays.asList(0,3))
);
// Store product hierarchy in Cassandra
JavaRDD<Product> productsRdd = sc.parallelize(products);
javaFunctions(productsRdd).writerBuilder("sales_planning", "products", mapToRow(Product.class)).saveToCassandra();
我的 POM 看起来像: ... com.datastax.cassandra cassandra 驱动程序映射 3.1.0
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.11</artifactId>
<version>1.6.2</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.11</artifactId>
<version>1.6.2</version>
</dependency>
<dependency> <!-- Spark Cassandra Connector -->
<groupId>com.datastax.spark</groupId>
<artifactId>spark-cassandra-connector_2.11</artifactId>
<version>2.0.0-M2</version>
</dependency>
<dependency>
<groupId>com.datastax.spark</groupId>
<artifactId>spark-cassandra-connector-java_2.11</artifactId>
<version>1.6.0-M1</version>
</dependency>
</dependencies>
...
运行示例代码得到以下异常:org.apache.spark.executor.TaskMetrics.outputMetrics()Lorg/apache/spark/executor/OutputMetrics;
将我的 pom 更新为: com.datastax.cassandra cassandra 驱动程序映射 3.1.0
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.11</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.11</artifactId>
<version>2.0.0</version>
</dependency>
<dependency> <!-- Spark Cassandra Connector -->
<groupId>com.datastax.spark</groupId>
<artifactId>spark-cassandra-connector_2.11</artifactId>
<version>2.0.0-M2</version>
</dependency>
</dependencies>
我现在有 Eclipse 标记我的 POM 文件并给我(以及其他): 说明 资源路径 位置 类型 无法读取 org.mortbay.jetty:jetty-util:jar:6.1.26 的工件描述符
描述资源路径位置类型 缺少工件 com.datastax.spark:spark-cassandra-connector_2.11:jar:2.0.0-M2 pom.xml
描述资源路径位置类型 缺少工件 com.datastax.spark:spark-cassandra-connector_2.11:jar:2.0.0-M2 pom.xml
【问题讨论】:
-
你在使用 Scala 吗? Scala 有两个版本。
-
抱歉,我没有使用 Java
标签: apache-spark cassandra spark-cassandra-connector