Dies ist in Bezug auf ein Problem, das ich bei der Abfrage von Cassandra von Apache Spark konfrontiert.InvalidRequestException (Warum: Empid kann nicht durch mehr als eine Beziehung eingeschränkt werden, wenn es eine Equal enthält)
Die normale Abfrage von Spark funktioniert ohne Probleme, aber wenn ich mit einer Bedingung abfragen, die der Schlüssel ist, bekomme ich den folgenden Fehler. Anfangs versuchte ich, nach einer zusammengesetzten Schlüsselspaltenfamilie zu fragen, und es gab auch das gleiche Problem wie unten.
"Verursacht durch: InvalidRequestException (warum: empid von mehr als einer Beziehung kann nicht eingeschränkt werden, wenn es einen Gleich enthält)"
Spalte Familie:
Familie InhaltCREATE TABLE emp (
empID int,
deptID int,
first_name varchar,
last_name varchar,
PRIMARY KEY (empID));
Säule:
empID, deptID, first_name, last_name
104, 15, 'jane', 'smith'
Beispiel SCALA Code:
val job=new Job()
job.setInputFormatClass(classOf[CqlPagingInputFormat])
val host: String = "localhost"
val port: String = "9160"
ConfigHelper.setInputInitialAddress(job.getConfiguration(), host)
ConfigHelper.setInputRpcPort(job.getConfiguration(), port)
ConfigHelper.setInputColumnFamily(job.getConfiguration(), "demodb", "emp")
ConfigHelper.setInputPartitioner(job.getConfiguration(), "Murmur3Partitioner")
CqlConfigHelper.setInputColumns(job.getConfiguration(), "empid,deptid,first_name,last_name")
//CqlConfigHelper.setInputCQLPageRowSize(job.getConfiguration(), limit.toString)
CqlConfigHelper.setInputWhereClauses(job.getConfiguration(),"empid='104'")
// Make a new Hadoop RDD
val casRdd = sc.newAPIHadoopRDD(job.getConfiguration(),
classOf[CqlPagingInputFormat],
classOf[Map[String, ByteBuffer]],
classOf[Map[String, ByteBuffer]])
Ich bitte Sie, lassen Sie mich wissen, wenn es irgendwelche Arbeit für diese Art von Szenario gibt, wie ich kämpfe, um dieses Problem in den letzten paar Tagen zu überwinden.
Dank
Eigentlich bekomme ich dies mit dem neuesten CQL3-Devcenter von datastax. Tatsächlich führe ich die gleichen Abfragen aus, die vorher gearbeitet haben, und jetzt geben alle denselben Fehler an. Lass es mich wissen, wenn du es herausgefunden hast! – Adrian