私はスカラ言語を使用してスパークでクエリを作成しようとしていますが、データはcassandraデータベースでテーブルとして使用できます。カサンドラテーブルで私は2つのキー、1)主キー 2を持っている)パーティション・キーパーティションキーの述語にはすべてのパーティションキー列が含まれている必要があります
カサンドラDDLはこのようなものになります:私は、クエリを実行すると
val conf = new SparkConf(true).set("spark.cassandra.connection.host","192.168.xx.xxx").set("spark.cassandra.auth.username","test").set("spark.cassandra.auth.password","test")
val sc = new SparkContext(conf)
var ctable = sc.cassandraTable("A", "B").select("id1","id2","timing","value").where("id1=?","1001")
:
CREATE TABLE A.B (
id1 text,
id2 text,
timing timestamp,
value float,
PRIMARY KEY ((id1, id2), timing)
) WITH CLUSTERING ORDER BY (timing DESC)
マイスパークプログラミング同じ "値"私は結果を取得していますが、私はid1またはid2のクエリ私はエラーが表示されます。
エラー取得済み: java.lang.UnsupportedOperationException:パーティションキー述部には、すべてのパーティションキー列またはパーティションキー列を含める必要があります。欠けている列:id2
私はspark-2.2.0-bin-hadoop2.7、Cassandra 3.9、scala 2.11.8を使用しています。
ありがとうございます。