2016-06-03 2 views
0

Je fais la mise à jour de cassandra de la version 1 à la version 3, et remplace l'API thrift par CQL, et refais le modèle de données en utilisant CQL. Mais je trouve une table est un peu difficile à traduire à CQLComment modéliser des lignes larges en utilisant cql

L'ancienne définition est comme ceci:

CREATE COLUMN FAMILY vsc_data 
WITH key_validation_class='CompositeType(LongType, IntegerType)' 
AND comparator = 'CompositeType(LongType,LongType)'; 

Et les données ressemble à ceci:

{1,11111,[(2222222,3333333,value1,value2),(4444444,555555,value3,value4)...]} 

Le « 1 » et "11111" est une clé de ligne composite, et "2222222" et "3333333" est une clé de colonne composite, lors d'une requête, les données doivent être triées d'abord par "2222222", puis par la colonne "3333333".

Alors, comment puis-je modéliser cela en utilisant CQL et comment l'interroger?

+0

ce qui est valeur1, valeur2 .. –

Répondre

2

Thrift schéma

CREATE COLUMN FAMILY vsc_data 
WITH key_validation_class='CompositeType(LongType, IntegerType)' 
AND comparator = 'CompositeType(LongType,LongType)'; 

CQL schéma

CREATE TABLE vsc_data (
    partition1 bigint, 
    partition2 int, 
    clustering1 bigint, 
    clustering2 bigint, 
    value1 ???, 
    value2 ???, 
    PRIMARY KEY((partition1, partition2), clustering1, clustering2) 
);