Sto valutando il connettore di cassandra spark e sto faticando a cercare di far funzionare una query di intervallo sulla chiave di partizione.Connettore Spark Cassandra - Intervallo interrogativo sulla chiave di partizione
In base alla documentazione del connettore, sembra possibile effettuare il filtraggio sul lato server sulla chiave di partizione usando l'uguaglianza o l'operatore IN, ma sfortunatamente la mia chiave di partizione è un timestamp, quindi non posso usarla.
Così ho provato ad utilizzare Spark SQL con la seguente query ('timestamp' è la chiave di partizione):
select * from datastore.data where timestamp >= '2013-01-01T00:00:00.000Z' and timestamp < '2013-12-31T00:00:00.000Z'
Anche se il processo viene distribuito su 200 operazioni, la query non restituisce alcun dato.
Inoltre posso assicurare che ci sono dati da restituire poiché l'esecuzione della query su cqlsh (facendo la conversione appropriata utilizzando la funzione 'token') restituisce i dati.
Utilizzo la scintilla 1.1.0 in modalità standalone. Cassandra è 2.1.2 e la versione del connettore è "b1.1". Il driver Cassandra è il ramo "master" DataStax. grappolo Cassandra è sovrapposta grappolo scintilla con 3 server con fattore di replicazione del 1.
Qualsiasi indizio chiunque?
Aggiornamento: Nel provare a fare filtro sul lato server sulla base della chiave di partizione (usando il metodo CassandraRDD.where) ottengo la seguente eccezione:
Exception in thread "main" java.lang.UnsupportedOperationException: Range predicates on partition key columns (here: timestamp) are not supported in where. Use filter instead.
Ma purtroppo io non so che cosa " filtro "è ...
Ciao a tutti, sto attualmente sperimentando con l'operatore IN (è supportato), ma sono un po 'preoccupato di dover recuperare al massimo 1 anno di dati, il che porterà a un'espressione IN con 365 valori. Comunque, controllerò la stratio. Grazie! – tsouza