繁体   English   中英

java.util.NoSuchElementException:Cassandra Spark中的表demo.usertable中找不到列ID

[英]java.util.NoSuchElementException: Column not found ID in table demo.usertable in Cassandra Spark

我尝试使用Spark-cassandra-Connector将RDD [CassandraRow]写入现有的Cassandra表。 这是我的一段代码

val conf = new SparkConf().setAppName(getClass.getSimpleName)
            .setMaster("local[*]")
            .set("spark.cassandra.connection.host", host)
        val sc = new SparkContext("local[*]", keySpace, conf)
val rdd = sc.textFile("hdfs://hdfs-host:8020/Users.csv")
val columns = Array("ID", "FirstName", "LastName", "Email", "Country")
val types = Array("int", "string", "string", "string", "string")
val crdd=rdd.map(p => {
            var tokens = p.split(",")
            new CassandraRow(columns,tokens)
        })
val targetedColumns = SomeColumns.seqToSomeColumns(columns)
crdd.saveToCassandra(keySpace, tableName, targetedColumns,  WriteConf.fromSparkConf(conf))

当我运行此代码时,我得到以下异常

Exception in thread "main" java.util.NoSuchElementException: Column not found ID in table demo.usertable

这是表的实际架构

CREATE TABLE usertable (
  id int,
  country text,
  email text,
  firstname text,
  lastname text,
  PRIMARY KEY ((id))
)

有什么建议吗? 谢谢

Keyspace,表格和列名称在Cassandra中区分大小写。 您是否尝试过调整代码以使用与表定义相同的大小写? (例如,使用'id'而不是'ID')。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM