Ich bin der Auswertung von Spark-Cassandra-Connector und ich habe Schwierigkeiten zu versuchen, eine Bereichsabfrage auf Partition Schlüssel zu arbeiten.Spark Cassandra Connector - Bereich Abfrage auf Partition Schlüssel
Gemäß der Dokumentation des Connectors scheint es möglich zu sein, die serverseitige Filterung des Partitionsschlüssels mit Gleichheit oder IN-Operator durchzuführen, aber leider ist mein Partitionsschlüssel ein Zeitstempel, daher kann ich ihn nicht verwenden. So
Ich habe versucht, Spark-SQL mit der folgenden Abfrage (‚Zeitstempel‘ ist die Partition Schlüssel):
select * from datastore.data where timestamp >= '2013-01-01T00:00:00.000Z' and timestamp < '2013-12-31T00:00:00.000Z'
Obwohl der Job 200 Aufgaben laicht, wird die Abfrage keine Daten zurückgegeben.
Ich kann auch versichern, dass Daten zurückgegeben werden, da die Abfrage auf Cqlsh ausgeführt wird (die entsprechende Konvertierung mit der Funktion "Token"). Gibt Daten zurück.
Ich benutze funken 1.1.0 mit Standalone-Modus. Cassandra ist 2.1.2 und Connector-Version ist 'b1.1' Zweig. Cassandra-Treiber ist DataStax 'Master' Zweig. Cassandra-Cluster mit drei Servern mit Replikationsfaktor von 1 auf Funken Cluster überlagert
Jede jemand Ahnung?
Update: Beim Versuch, serverseitige Filterung basierend auf der Partition Schlüssel (mit CassandraRDD.where Methode) bekomme ich die folgende Ausnahme zu tun:
Exception in thread "main" java.lang.UnsupportedOperationException: Range predicates on partition key columns (here: timestamp) are not supported in where. Use filter instead.
Aber leider weiß ich nicht, was " filter "ist ...
Hallo, ich experimentiere gerade mit IN-Operator (es wird unterstützt), aber ich bin ein bisschen besorgt, dass ich höchstens 1 Jahr Daten abrufen muss, was zu einem IN-Ausdruck mit 365 Werten führt. Wie auch immer, ich werde Stratio überprüfen. Vielen Dank! – tsouza