0
使用casssandra 2.28,java-connector3,sparks2.0。Cassandra select select multiple params
我想用多個選擇參數編寫一個簡單的查詢 - 無法獲得正確的語法。 單PARAM工作
CassandraJavaRDD<CassandraRow> rdd = javaFunc
.cassandraTable("test", "tests").where("ID= ?", "1");
我怎麼多個參數,可以嘗試多種方法都失敗:
javaFunc.cassandraTable("tests", "test").where("ID= ?", "1").and("Name= ?", "John");
javaFunc.cassandraTable("tests", "test").where("ID= ?", "1"+ " and "+ "Name= ?", "John");
嘗試構建聲明,給出了錯誤 - 不喜歡 「EQ」:
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; –
如果問題是編譯器錯誤,則可能需要從QueryBuilder導入eq,即'import static com.datastax.driver.core.querybuilder.QueryBuilder.eq;' –
@Andy謝謝,com.datastax.driver.core.querybuilder.QueryBuilder.eq是訣竅。但是,如何將此Resultset轉換爲RDD-似乎是一個多步驟過程?還有,我的原始多參數查詢沒有辦法 - 它返回一個RDD,我可以簡單地對它做一個cassandracount(這是我需要的這個當前問題) –