Comment supprimer toutes les données d’une famille de colonnes Cassandra?

Je cherche un moyen de supprimer toutes les lignes d’une famille de colonnes donnée en cassandra.

Ceci est l’équivalent de TRUNCATE TABLE en SQL.

Vous pouvez utiliser l’appel truncate ou la commande TRUNCATE

dans CQL.

http://www.datastax.com/docs/1.0/references/cql/TRUNCATE

Vous pouvez également le faire via Cassandra CQL.

 $ cqlsh Connected to Test Cluster at localhost:9160. [cqlsh 4.1.1 | Cassandra 2.0.6 | CQL spec 3.1.1 | Thrift protocol 19.39.0] Use HELP for help. cqlsh> TRUNCATE my_keyspace.my_column_family; 

C’est très simple à Astyanax. Un simple relevé de ligne

 /* keyspace variable is Keyspace Type */ keyspace.truncateColumnFamily(ColumnFamilyName); 

Si vous utilisez Hector, c’est aussi facile:

 cluster.truncate("our keyspace name here", "your column family name here"); 

Si vous utilisez cqlsh, vous pouvez le faire de deux manières

  1. use keyspace ; puis truncate column_family;
  2. truncate keyspace.column_family;

Si vous voulez utiliser le pilote Java DataStax, vous pouvez consulter – http://www.datastax.com/drivers/java/1.0/com/datastax/driver/core/querybuilder/QueryBuilder.html ou http: // www. datastax.com/drivers/java/2.0/com/datastax/driver/core/querybuilder/Truncate.html

en fonction de votre version.

Si vous travaillez sur la configuration du cluster, truncate ne peut être utilisé que lorsque tous les nœuds du cluster sont en mode UP.

En utilisant truncate, les données nous manqueront (nous ne sums pas sûrs de l’importance des données)

Donc, le moyen le plus sûr de supprimer des données consiste à utiliser la commande COPY,

1) sauvegarde des données à l’aide de copy cassandra cmd
copy tablename to 'path'

2) dupliquer le fichier en utilisant linux cp cmd
cp ‘src path’ ‘dst path’

3) éditez le fichier en double dans le chemin dst, supprimez toutes les lignes attendez la première ligne.
Enregistrez le fichier.

4) utiliser la copie cassandra cmd pour importer
copy tablename from 'dst path'