2012-05-09 14 views

उत्तर

78

आप truncate थ्रिफ्ट कॉल, या TRUNCATE <table> कमांड सीक्यूएल में उपयोग कर सकते हैं।

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

+1

कि के लिए धन्यवाद। मैं इसके बजाय 'ड्रॉप कॉलम परिवार' का उपयोग कर समाप्त हुआ और कॉलम परिवार को पुनर्जीवित कर रहा था, लेकिन यह जानना अच्छा है कि वाक्यविन्यास क्या मौजूद है। –

+1

बस इसमें जोड़ने के लिए, कॉलम परिवार को छोड़ना वास्तव में डिस्क पर डेटा को हटा नहीं देता है। आपको टेबल को मैन्युअल रूप से आरएम करना होगा। इस प्रकार, मुझे हमेशा बनाए गए दिनांक को इंगित करके अद्वितीय नाम वाले नए कॉलम परिवार बनाने के लिए उपयोगी पाया गया है, यानी उपयोगकर्ता_2013_09_29, आदि –

+2

'ट्रंकेट' का एकमात्र नकारात्मक पक्ष यह है कि आपके क्लस्टर के सभी नोड्स ऊपर होना चाहिए।यदि ऐसा नहीं है, तो आप 'ड्रॉप कॉलमफैमिली' का उपयोग कर सकते हैं, और फिर इसे फिर से बना सकते हैं। – Tom

6

इसके Astyanax में बहुत ही सरल। बस एक पंक्ति के बयान

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

तो उसी तरह इसे आसान है हेक्टर उपयोग कर रहे हैं:

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

तुम भी कैसेंड्रा 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; 
3

आप cqlsh का उपयोग कर रहे हैं, तो आप या तो इसे 2 तरीके

  1. use keyspace में कर सकते हैं; 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 column_family;

  2. truncate keyspace.column_family;

आप DataStax जावा ड्राइवर का उपयोग करना चाहते हैं, तो आप देख सकते हैं।

0

यदि आप क्लस्टर सेटअप पर काम कर रहे हैं, तो छंटनी का उपयोग तब किया जा सकता है जब क्लस्टर के सभी नोड यूपी हों।

काटना, हम डेटा याद करेंगे

तो जैसा कि बहुत ही सुरक्षित तरीका अच्छी तरह से डेटा की प्रतिलिपि आदेश का उपयोग करने के लिए है हटाने के लिए एक चाल (हम डेटा के महत्व के साथ सुनिश्चित नहीं हैं) का उपयोग करके,

1) बैकअप डेटा प्रतिलिपि कैसेंड्रा का उपयोग कर cmd
copy tablename to 'path'

2) linux सीपी cmd का उपयोग कर फ़ाइल नकल
सीपी 'src पथ' 'डीएसटी पथ'

3) डीएसटी पथ में डुप्लिकेट फ़ाइल संपादित करें, सभी लाइनों को पहली पंक्ति की अपेक्षा करें।
फ़ाइल को सहेजें।

4) प्रतिलिपि कैसेंड्रा cmd का उपयोग आयात करने के लिए
copy tablename from 'dst path'

संबंधित मुद्दे