Использование casssandra 2.28, java-connector3, sparks2.0.Cassandra select query multiple params
Я пытаюсь написать простой запрос с несколькими параметрами выбора - неспособный получить синтаксис справа. Single парам работает
CassandraJavaRDD<CassandraRow> rdd = javaFunc
.cassandraTable("test", "tests").where("ID= ?", "1");
Как я несколько PARAMS, пытался несколько способов все терпеть неудачу:
javaFunc.cassandraTable("tests", "test").where("ID= ?", "1").and("Name= ?", "John");
javaFunc.cassandraTable("tests", "test").where("ID= ?", "1"+ " and "+ "Name= ?", "John");
Пробовал заявление сборки, дает ошибку - не нравится "эк":
Statement s = QueryBuilder.select().all()
.from("tableName")
.where(eq("column_1", 1))
.and(eq("column_2", 9))
.and(eq("column_3", 50));
Похоже, что базовый 101 запрос, но просто не может найти suita пример кода.
Что ошибка вы возвращаетесь? CQL, сгенерированный вашим построителем запросов, выглядит справедливо для меня: SELECT * FROM tableName WHERE column_1 = 1 AND column_2 = 9 AND column_3 = 50; –
Если проблема связана с ошибкой компилятора, вам может потребоваться импортировать eq из QueryBuilder, т. Е. Импортировать статический файл com.datastax.driver.core.querybuilder.QueryBuilder.eq; –
@ Andy Спасибо, com.datastax.driver.core.querybuilder.QueryBuilder.eq был трюк. Но как мне преобразовать этот набор результатов в RDD - кажется, это многоступенчатый процесс? Также нет способа для моего исходного многопараметрического запроса - он возвращает RDD, и я могу просто сделать cassandracount на нем (это то, что мне нужно для этой текущей проблемы) –