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 à cassandra.

c'est l'équivalent de TRUNCATE TABLE en SQL.

51
demandé sur Ike Walker 2012-05-09 20:20:45

6 réponses

vous pouvez utiliser l'appel d'épargne truncate , ou la commande TRUNCATE <table> dans CQL.

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

79
répondu the paul 2018-04-20 07:52:32

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;
9
répondu cevaris 2014-04-18 03:34:10

C'est très simple à Astyanax. Une seule phrase:

/* keyspace variable is Keyspace Type */
keyspace.truncateColumnFamily(ColumnFamilyName); 
6
répondu abhi 2012-05-11 06:37:26

si vous utilisez Hector, il est facile aussi:

cluster.truncate("our keyspace name here", "your column family name here");
3
répondu Eugen 2013-06-04 14:37:30

Si vous utilisez cqlsh, alors vous pouvez le faire de 2 façons

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

si vous voulez utiliser DataStax Java driver, vous pouvez regarder - 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

selon votre version.

3
répondu Sumod 2014-06-19 13:02:41

si vous travaillez sur l'installation du cluster, tronquer peut être utilisé seulement lorsque tous les nœuds du cluster.

en utilisant truncate, nous manquerons les données(nous ne sommes pas sûrs avec l'importance des données)

donc la manière très sûre ainsi qu'une astuce pour supprimer des données est d'utiliser la commande de copie,

1) données de sauvegarde en utilisant la copie cassandra cmd

copy tablename to 'path'

2) dupliquer le fichier utilisant linux CP cmd

cp 'src" chemin " dst " chemin

3) éditer le fichier dupliqué dans DST path, supprimer toutes les lignes attendre première ligne.

enregistrez le fichier.

4) utiliser la copie cassandra cmd pour importer

copy tablename from 'dst path'

0
répondu Swam Guru 2015-09-21 16:54:53