2013-08-22 3 views
5

मैंने कैसंद्रा क्लस्टर में एक पुरानी कीपस्पेस बनाई लेकिन पाया कि इसके "तुलनित्र" की परिभाषा गलत है, इसलिए मुझे एक नया कीस्पेस बनाना और डेटा माइग्रेशन करना है। डेटा माइग्रेशन करने के लिए कोई उपकरण है? या मुझे थ्रिफ्ट क्लाइंट के साथ प्रोग्राम करना है, पुराने डेटास्पेस से सभी डेटा पढ़ना और उन्हें नई कीपेज पर लिखना है? कोई सुझाव या कोड स्निपेट का स्वागत है!कैसंड्रा के डेटा माइग्रेशन को एक कीस्पेस से दूसरे कुंजियों तक कैसे करें?

उत्तर

0

हम इसे COPY सीक्यूएल में कमांड का उपयोग करके कर सकते हैं। COPY कमांड का उपयोग करके हम टेबल डेटा को पर भेज सकते हैं .csv फ़ाइल और से किसी तालिका में वापस .csv फ़ाइल। लेकिन, बेहतर तरीका तालिका से पढ़ने के लिए एक प्रोग्राम लिखना होगा और इसे दूसरी तालिका में लिखना होगा क्योंकि सीएसवी से आयात करना विफल हो सकता है यदि तालिका में संग्रह कॉलम प्रकार list<text>, map<text, text>, set<text> शामिल हैं।

उदाहरण के लिए: - मेज से तालिका डेटा कॉपी करने के लिए फ़ाइल .csv में: -

COPY keyspace1.table1 (column1, column2) TO 'path/to/file/keyspace1_table1.csv'; 

एक मेज पर फ़ाइल से csv डेटा कॉपी करने के लिए: -

COPY keyspace2.table1 (column1, column2) FROM 'path/to/file/keyspace1_table1.csv'; 

देखें Cassandra migration tool

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