2016-11-29 6 views
1

Hallo ich möchte Daten für bestimmte Geräte abfragen, die regelmäßig Warnungen senden. Also ich möchte eine Zeitreihe haben. Ich habe eine Tabelle wie folgt aus:Cassandra Zeitreihenabfrage

CREATE TABLE alerts_by_day (
    day_of_year int, 
    year int, 
    alert_timestamp timestamp, 
    serial_number text, 
    alert_id uuid, 
    alert_type text, 
    PRIMARY KEY((day_of_year, year), serial_number, alert_timestamp, alert_type,alert_id) 
) WITH CLUSTERING ORDER BY (serial_number DESC, alert_timestamp DESC, alert_type DESC); 

Jetzt möchte ich eine Abfrage oder materialisierten Ansicht zu schaffen, um von einem Zeitbereich in der Lage sein abzufragen (zB: vom 29. November 2015 bis 20. Januar 2016) und durch Warntyp Also möchte ich nur die Warnungen für einen bestimmten Typ und Zeitbereich anzeigen. Ich kann für einen bestimmten Zeitbereich abfragen:

Select * from alerts_by_day 
where day_of_year IN (312,313) 
and year IN (2016,2015) 
and alert_timestamp < '2016-11-08 03:09:14-0800' 
and alert_timestamp > '2016-11-07 23:13:28-0800' 

, aber ich kann das nicht tun:

Select * from alerts_by_day 
where day_of_year IN (312,313) 
and year IN (2016,2015) 
and alert_timestamp < '2016-11-08 03:09:14-0800' 
and alert_timestamp > '2016-11-07 23:13:28-0800' 
and alert_type IN ('type1', 'type2') 

, weil ich eine Einschränkung verwendet, die nicht für alert_timestamp EQ ist.

Wie konnte ich erreichen, dass ich nur die Warnungen von Typ 1 und Typ 2 sehe?

hier ist der Fehler: kann nicht CQL Skript auszuführen: Clustering Spalte alert_type nicht (precedign Spalte alert_timestamp durch eine nicht-EQ-Beziehung beschränkt ist) eingeschränkt werden

+0

Welche Cassandra-Version verwenden Sie? – root545

+0

Ich löschte meine Antwort. aber Sie können diese Antwort überprüfen http://stackoverflow.com/questions/34422515/cassand-error-clusterning-column-cannot-be-restricted-preceding-column-is-re Im kurzen was Sie tun, ist nicht möglich – root545

Antwort

0

können Sie Filterung erhalten und Aggregation von Zeitreihen mit Spark