Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.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
Scala java.util.NoSuchElementException:在Cassandra Spark中的demo.usertable表中找不到列ID_Scala_Cassandra_Apache Spark - Fatal编程技术网

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

Scala java.util.NoSuchElementException:在Cassandra Spark中的demo.usertable表中找不到列ID,scala,cassandra,apache-spark,Scala,Cassandra,Apache Spark,我正在尝试使用Spark Cassandra连接器将RDD[CassandraRow]写入现有的Cassandra表。这是我的一段代码 val conf = new SparkConf().setAppName(getClass.getSimpleName) .setMaster("local[*]") .set("spark.cassandra.connection.host", host) val sc = new SparkC

我正在尝试使用Spark Cassandra连接器将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))
)
有什么建议吗?
谢谢,在Cassandra中,键空间、表名和列名区分大小写。您是否尝试过调整代码以使用与表定义相同的大小写?(例如,使用“id”而不是“id”)。

还有一种可能,错误消息您的共享引用了“demo.usertabl”,您是否将其指定为您的表,或者这是一个复制粘贴错误?@AndyTolbert先生,我有这个问题……我的cassandra表列以小写形式显示,如下图所示,按id创建表模型族(model_family_id int主键,model_family text,create_date date,last_update_date date,model_family name text);我的数据帧模式类似于根--model_family_id:decimal(38,10)(nullable=true)|--model_family:string(nullable=true)|--create_date:timestamp(nullable=true)|--LAST_UPDATE_DATE:timestamp(nullable=true)|--MODEL_FAMILY_NAME:string(nullable=true)@AndyTolbert So,同时插入线程“main”中的tabExceptionjava.util.NoSuchElementException:在表sample\u cbd.model\u family\u by\u id中找不到列:model\u family\u id,model\u family,CREATE\u DATE,LAST\u UPDATE\u DATE,model\u family\u NAME位于com.datastax.spark.connector.SomeColumns.selectFrom(ColumnSelector.scala:44)le我遇到了如何修复此问题的错误???我们可以在dataframe上调用saveToCassandra吗?当我在代码中这样做时,它说的是未知方法…,因为我添加了导入com.datasax.spark.connector.\那么我还需要做些什么?