2012-05-09 12 views

Odpowiedz

78

Możesz użyć komendy oszczędzania truncate lub polecenia TRUNCATE <table> w CQL.

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

+1

Dzięki za to. Zamiast tego użyłem 'drop column family' i ponownie utworzyłem rodzinę kolumn, ale dobrze jest wiedzieć, jaka składnia istnieje. –

+1

Po prostu, aby dodać do tego, upuszczenie rodziny kolumn nie powoduje usunięcia danych na dysku. Musisz ręcznie ustawić tabele. W związku z tym uważam za użyteczne, aby zawsze tworzyć nowe rodziny kolumn z unikalnymi nazwami, wskazując datę ich utworzenia, tj. Users_2013_09_29, itp. –

+2

Jedyną wadą 'truncate' jest to, że wszystkie węzły klastra muszą być w górze.Jeśli tak nie jest, możesz użyć 'drop columnfamily', a następnie utwórz ją ponownie. – Tom

6

Jest bardzo proste w Astyanax. Tylko pojedyncze sprawozdanie Linia

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

Jeśli używasz Hectora to jest łatwe, a także:

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

Można również zrobić to za pośrednictwem Cassandra CQI.

$ 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; 
0

Jeśli pracujesz nad konfiguracją klastra, obcięcie może być używane tylko wtedy, gdy wszystkie węzły klastra są UP.

Korzystając obciąć, stracimy dane (nie jesteśmy pewni ze znaczeniem danych)

tak więc bardzo bezpieczny sposób, jak dobrze trick do usuwania danych jest użycie polecenia Kopiuj,

1) kopii zapasowych danych przy użyciu kopia Cassandra cmd
copy tablename to 'path'

2) powielić plik, używając linux cmd cp
cp 'ścieżka src' 'ścieżka dst'

3) edytuj zduplikowany plik w ścieżce dst, usuń wszystkie linie oczekujące pierwszego wiersza.
zapisz plik.

4) używać kopii cmd Cassandra importować
copy tablename from 'dst path'

Powiązane problemy