2013-09-25 5 views
0

Voici les données que j'ai besoin de représenter dans ma famille de colonnes Cassandra.Famille de colonnes Cassandra pour différents types de données

rowKey   e1_name     e1_schemaname     e1_last_modified_date 
123    (ByteArray value)   abc (some string)    some_date 

userId est le rowKey ici. Et e1_name, e1_schemaname et e1_last_modified_date sont les colonnes spécifiquement pour e1. Toutes ces trois colonnes contiennent une valeur spécifique pour la colonne e1. De la même façon, je vais avoir pour d'autres colonnes comme ci-dessous. Maintenant, je pense, comment puis-je aller de l'avant et créer une famille de colonnes dynamiques pour mon cas d'utilisation ci-dessus. Le problème auquel je suis confronté est que chaque colonne aura son propre type de données. Pour e1, je vais avoir e1_name qui est ByteArray, e1_schemaname qui sera UTF8, e1_last_modified_date qui est DateType. Et même pour les séries e2 et e3 également.

C'est ce que j'ai mais je ne pense pas que cela fonctionnera.

create column family USER_DATA 
with key_validation_class = 'UTF8Type' 
and comparator = 'UTF8Type' 
and default_validation_class = 'UTF8Type' 
and gc_grace = 86400 

Quelqu'un peut-il m'aider à concevoir la famille de colonnes pour le cas d'utilisation ci-dessus?

+2

Pourquoi modélise pas votre schéma avec CQL3? –

+0

Parce que nous utilisons Column Family dans d'autres keyapce et que nous avons du code DAO prêt pour cela et qu'il fonctionne en production. Donc nous n'avons pas besoin d'expérimenter sur CQL3 pour le moment ... – ferhan

+0

Utilisez-vous Hector-client? –

Répondre

0

Vous pouvez utiliser "BytesType".

Vous pouvez facilement convertir "BytesType" à/de votre type de données souhaité à l'aide AbstractSerializer.toByteBuffer() et AbstractSerializer.fromByteBuffer()

Questions connexes