![](/img/trans.png)
[英]How do I get all the keys that are stored in the Cassandra 2.0.1 column family with scala using hector?
[英]How do I delete all data in a Cassandra column family?
我正在尋找一種方法來刪除cassandra中給定列族的所有行。
這相當於SQL中的TRUNCATE TABLE
。
您可以在CQL中使用truncate
thrift調用或TRUNCATE <table>
命令。
您也可以通過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;
在Astyanax非常簡單。 只是一個單行聲明
/* keyspace variable is Keyspace Type */
keyspace.truncateColumnFamily(ColumnFamilyName);
如果您使用Hector,也很容易:
cluster.truncate("our keyspace name here", "your column family name here");
如果您使用的是cqlsh,那么您可以通過兩種方式執行此操作
use keyspace
; 然后truncate column_family;
truncate keyspace.column_family;
如果您想使用DataStax Java驅動程序,可以查看 - http://www.datastax.com/drivers/java/1.0/com/datastax/driver/core/querybuilder/QueryBuilder.html或http:// www。 datastax.com/drivers/java/2.0/com/datastax/driver/core/querybuilder/Truncate.html
取決於您的版本。
如果您正在進行群集設置,則只能在群集的所有節點都已啟動時使用truncate。
通過使用truncate,我們將錯過數據(我們不確定數據的重要性)
因此,刪除數據的非常安全的方法和技巧是使用COPY命令,
1)使用copy cassandra cmd備份數據
copy tablename to 'path'
2)使用linux cp cmd復制文件
cp的src路徑''dst path'
3)在dst路徑中編輯重復文件,刪除所有第一行的行。
保存文件。
4)使用copy cassandra cmd導入
copy tablename from 'dst path'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.