2017-07-31 6 views
0

J'utilise les requêtes CQL suivantes pour créer une table et écrire des données, le problème est que les données de ma table ne sont pas organisées par ordre de date.Colonne d'ordre Famille avec un identifiant différent par date

Je voudrais les organiser par date sans avoir à mettre le même identifiant.

Pour créer la table:

CREATE TABLE IF NOT EXISTS sk1_000.data(id varchar, date_serveur timestamp ,nom_objet varchar, temperature double, etat boolean , PRIMARY KEY (id, date_serveur)) with clustering order by (date_serveur DESC); 

Pour insérer:

INSERT INTO sk1_000.data(id, date_serveur,nom_objet, temperature, etat) VALUES ('"+ uuid.v4() +"', '1501488930499','Raspberry_pi', 22.5, true) if not exists ; 

Voici la sortie:

enter image description here

Répondre

0

Dans Cassandra, les garanties clés de clustering ordre de tri pour une donnée clé de partition et pas à travers différentes clés de partitionnement. Pour obtenir ce que vous cherchez "trier par date sur toutes les clés", vous devrez redessiner la table pour avoir date_serveur comme clé de partitionnement et id comme colonne de clustering. Mais devinez ce que vous ne pouvez pas interroger directement en fonction d'un identifiant avec ce design de table.

+0

Des questions sur la réponse fournie, sinon pls n'oubliez pas d'accepter/upvote – dilsingi