Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cassandra的Spark maven依赖项_Maven_Apache Spark_Cassandra - Fatal编程技术网

Cassandra的Spark maven依赖项

Cassandra的Spark maven依赖项,maven,apache-spark,cassandra,Maven,Apache Spark,Cassandra,我在本地主机上运行了Cassandra 3.0.0(127.0.0.1:9042)。 它可以从cqlsh访问,我可以创建/查询表 在Spark项目中,我为Cassandra连接器、Cassandra驱动程序等添加了maven依赖项 当我现在尝试向Cassandra读取或插入数据时,Cassandra连接器连接到Cassandra集群,但我得到以下错误:线程“main”java.util.NoSuchElementException中的异常:找不到键:“text” 我用不同的表、版本、编码等尝试了

我在本地主机上运行了Cassandra 3.0.0(127.0.0.1:9042)。 它可以从cqlsh访问,我可以创建/查询表

在Spark项目中,我为Cassandra连接器、Cassandra驱动程序等添加了maven依赖项

当我现在尝试向Cassandra读取或插入数据时,Cassandra连接器连接到Cassandra集群,但我得到以下错误:
线程“main”java.util.NoSuchElementException中的异常:找不到键:“text”

我用不同的表、版本、编码等尝试了它。没有任何帮助。我认为这可能是一个问题,因为maven依赖项错误或缺失。也许你能帮我。以下是我的编码和依赖项:

<dependencies>
    <dependency>
        <groupId>com.datastax.spark</groupId>
        <artifactId>spark-cassandra-connector_2.10</artifactId>
        <version>1.5.0-M3</version>
    </dependency>
    <dependency>
        <groupId>com.datastax.spark</groupId>
        <artifactId>spark-cassandra-connector-java_2.10</artifactId>
        <version>1.5.0-M3</version>
    </dependency>
    <dependency>
        <groupId>com.datastax.cassandra</groupId>
        <artifactId>cassandra-driver-core</artifactId>
        <version>3.0.0-alpha4</version>
    </dependency>

    <!-- Spark dependencies -->
    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-core_2.10</artifactId>
        <version>1.5.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-streaming_2.10</artifactId>
        <version>1.5.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-streaming-kafka_2.10</artifactId>
        <version>1.5.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-sql_2.10</artifactId>
        <version>1.5.0</version>
    </dependency>

</dependencies>
卡桑德拉表:
创建表mykeyspace2.kv(键文本主键,值int)

火花代码:

val master = config.getString(Configuration.SPARK_MASTER)
logger.info("Starting, spark master:$master")

val sparkConf = new SparkConf()
  .setAppName("test streaming")
  .setMaster(master)
  .set("spark.cassandra.connection.host", "127.0.0.1")

val sc = new SparkContext(sparkConf)
val cc = new CassandraSQLContext(sc)


val newRdd = sc.parallelize(Seq(("cat",40),("fox",50)))
newRdd.saveToCassandra("mykeyspace2","kv",SomeColumns("key", "value"))

val rdd = sc.cassandraTable("mykeyspace2", "users3")
Maven依赖项:

<dependencies>
    <dependency>
        <groupId>com.datastax.spark</groupId>
        <artifactId>spark-cassandra-connector_2.10</artifactId>
        <version>1.5.0-M3</version>
    </dependency>
    <dependency>
        <groupId>com.datastax.spark</groupId>
        <artifactId>spark-cassandra-connector-java_2.10</artifactId>
        <version>1.5.0-M3</version>
    </dependency>
    <dependency>
        <groupId>com.datastax.cassandra</groupId>
        <artifactId>cassandra-driver-core</artifactId>
        <version>3.0.0-alpha4</version>
    </dependency>

    <!-- Spark dependencies -->
    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-core_2.10</artifactId>
        <version>1.5.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-streaming_2.10</artifactId>
        <version>1.5.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-streaming-kafka_2.10</artifactId>
        <version>1.5.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-sql_2.10</artifactId>
        <version>1.5.0</version>
    </dependency>

</dependencies>

com.datasax.spark
spark-cassandra-connector_2.10
1.5.0-M3
com.datasax.spark
spark-cassandra-connector-java_2.10
1.5.0-M3
com.datasax.cassandra
卡桑德拉驱动核心
3.0.0-4
org.apache.spark
spark-core_2.10
1.5.0
org.apache.spark
spark-2.10
1.5.0
org.apache.spark
spark-streaming-kafka_2.10
1.5.0
org.apache.spark
spark-sql_2.10
1.5.0
错误:

15/12/04 07:43:40信息集群:新增卡桑德拉主机/127.0.0.1:9042
15/12/04 07:43:40信息Cassandra连接器:连接到Cassandra群集:测试群集
线程“main”java.util.NoSuchElementException中的异常:找不到键:“text”
位于scala.collection.MapLike$class.default(MapLike.scala:228)
默认值(Map.scala:58)
位于scala.collection.MapLike$class.apply(MapLike.scala:141)
在scala.collection.AbstractMap.apply(Map.scala:58)
在com.datastax.spark.connector.types.ColumnType$.fromDriverType(ColumnType.scala:81)上
位于com.datastax.spark.connector.cql.ColumnDef$.apply(Schema.scala:117)
在com.datastax.spark.connector.cql.Schema$$anonfun$com$datastax$spark$connector$cql$Schema$$fetchPartitionKey$1.apply(Schema.scala:199)
在com.datastax.spark.connector.cql.Schema$$anonfun$com$datastax$spark$connector$cql$Schema$$fetchPartitionKey$1.apply(Schema.scala:198)
位于scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
位于scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
位于scala.collection.Iterator$class.foreach(Iterator.scala:727)
位于scala.collection.AbstractIterator.foreach(迭代器.scala:1157)
位于scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
位于scala.collection.AbstractIterable.foreach(Iterable.scala:54)
位于scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
位于scala.collection.AbstractTraversable.map(Traversable.scala:105)
位于com.datastax.spark.connector.cql.Schema$.com$datastax$spark$connector$cql$Schema$$fetchPartitionKey(Schema.scala:198)
在com.datastax.spark.connector.cql.Schema$$anonfun$com$datastax$spark$connector$cql$Schema$$fetchTables$1$2.apply(Schema.scala:239)
在com.datastax.spark.connector.cql.Schema$$anonfun$com$datastax$spark$connector$cql$Schema$$fetchTables$1$2.apply(Schema.scala:238)
在scala.collection.TraversableLike$WithFilter$$anonfun$map$2.apply处(TraversableLike.scala:722)
位于scala.collection.immutable.Set$Set3.foreach(Set.scala:115)
位于scala.collection.TraversableLike$WithFilter.map(TraversableLike.scala:721)
位于com.datastax.spark.connector.cql.Schema$.com$datastax$spark$connector$cql$Schema$$fetchTables$1(Schema.scala:238)
在com.datastax.spark.connector.cql.Schema$$anonfun$com$datastax$spark$connector$cql$Schema$$fetchkeyspace$1$2.apply(Schema.scala:247)
在com.datastax.spark.connector.cql.Schema$$anonfun$com$datastax$spark$connector$cql$Schema$$fetchkeyspace$1$2.apply(Schema.scala:246)
在scala.collection.TraversableLike$WithFilter$$anonfun$map$2.apply处(TraversableLike.scala:722)
位于scala.collection.immutable.HashSet$HashSet1.foreach(HashSet.scala:153)
位于scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:306)
位于scala.collection.TraversableLike$WithFilter.map(TraversableLike.scala:721)
在com.datastax.spark.connector.cql.Schema$.com$datastax$spark$connector$cql$Schema$$fetchKeyspaces$1(Schema.scala:246)
在com.datastax.spark.connector.cql.Schema$$anonfun$fromCassandra$1.apply(Schema.scala:252)
在com.datastax.spark.connector.cql.Schema$$anonfun$fromCassandra$1.apply(Schema.scala:249)
在com.datastax.spark.connector.cql.CassandraConnector$$anonfun$withClusterDo$1.apply(CassandraConnector.scala:121)
在com.datastax.spark.connector.cql.CassandraConnector$$anonfun$withClusterDo$1.apply(CassandraConnector.scala:120)
在com.datastax.spark.connector.cql.CassandraConnector$$anonfun$和sessiondo$1.apply(CassandraConnector.scala:110)
在com.datastax.spark.connector.cql.CassandraConnector$$anonfun$和sessiondo$1.apply上(CassandraConnector.scala:109)
在com.datasax.spark.connector.cql.CassandraConnector.closeResourceAfterUse(CassandraConnector.scala:139)上
在com.datasax.spark.connector.cql.CassandraConnector.withSessionDo上(CassandraConnector.scala:109)
在com.datasax.spark.connector.cql.CassandraConnector.withClusterDo(CassandraConnector.scala:120)上
在com.datasax.spark.connector.cql.Schema$.fromCassandra(Schema.scala:249)
在com.datastax.spark.connector.writer.TableWriter$.apply上(TableWriter.scala:263)

在com.datastax.spark.connector.RDDFunctions.saveToCassandra(RDDFunctions.scala:36)

上,我尝试了连接器和驱动程序版本的几种组合。最后我找到了一个适合我的组合。 实际上是相容矩阵
<!-- Spark dependencies -->
<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-core_2.10</artifactId>
    <version>1.6.0</version>
</dependency>
<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-streaming_2.10</artifactId>
    <version>1.6.0</version>
</dependency>
<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-streaming-kafka_2.10</artifactId>
    <version>1.6.0</version>
</dependency>
<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-sql_2.10</artifactId>
    <version>1.6.0</version>
</dependency>
<dependency>
    <groupId>com.datastax.spark</groupId>
    <artifactId>spark-cassandra-connector_2.10</artifactId>
    <version>1.6.2</version>
</dependency>