Cassandra Query Language ne lit pas les données insérées par Astyanax

J’ai inséré les données dans Cassandra en utilisant Astyanax mais quand j’exécute la requête suivante en utilisant CQL3 alors le résultat est dans Hex

select * from employees1; 

Résultat:

  key | column1 | value ------------+------------------------+------------------ 0x000000de | 0x646570746964 | 0x0000014d 

Ensuite, j’ai appris qu’Astyanax supporte également CQL, puis je l’utilise et insère l’enregistrement dans Cassandra, puis je lance la requête ci-dessus et il montre avec succès l’enregistrement comme suit.

  empid | deptid | first_name | last_name -------+--------+------------+----------- 222 | 333 | Eric | Cartman 

Pourquoi CQL3 ne lit pas les données insérées par Astyanax? apache cassandra n’offre-t-il pas le moyen d’implémentation standard? quel est le jeu derrière?

Je suis nouveau à Cassandra.

J’ai eu / j’ai ce problème exact. Pour moi, le problème était que mes tables étaient créées en tant que familles de colonnes via le cassandra-cli et avec le comparateur bytesType.

Dans cqlsh, essayez ceci:

 describe table employees1; 

Si vous voyez quelque chose comme ça:

 CREATE TABLE "employees1" ( key blob, column1 blob, value blob, PRIMARY KEY (key, column1) ) WITH COMPACT STORAGE AND bloom_filter_fp_chance=0.010000 AND caching='KEYS_ONLY' AND comment='' AND dclocal_read_repair_chance=0.000000 AND gc_grace_seconds=864000 AND read_repair_chance=0.100000 AND replicate_on_write='true' AND compaction={'class': 'SizeTieredCompactionStrategy'} AND compression={'sstable_compression': 'SnappyCompressor'}; 

Cela signifie que votre table est une famille de colonnes héritées. Pour pouvoir interroger les données (cqlsh) dans un format lisible, les champs doivent être autres que blob, comme varchar ou int. Malheureusement, je pense que blob et varchar sont des types incompatibles, vous devrez peut-être recréer la table et recharger.