2012-06-03 17 views
5

में सीक्यूएल 3 के साथ काउंटर कॉलमफैमिली कैसे बनाते हैं आप कैसंड्रा में सीक्यूएल 3 के साथ काउंटर कॉलमफैमिली कैसे बनाते हैं?कैसंड्रा

मैं उपयोग करता था: COLUMNFAMILY उपयोगकर्तास्टैट (उपयोगकर्ता नाम वर्कर प्राथमिक कुंजी, छवियों का काउंटर) बनाएं डिफ़ॉल्ट_विधीकरण = काउंटर और टिप्पणी = 'उपयोगकर्ता आँकड़े' के साथ;

अब जब मैं चलने वाले CQL3 में मैं मिलता है: गलत अनुरोध: default_validation एक वैध कीवर्ड तर्क के लिए COLUMNFAMILY बनाएं

उत्तर

3

CQL3 नहीं रह गया है "गतिशील स्तंभ नाम" मॉडल के साथ चिपक जाता है नहीं है। यह अभी भी मनमाने ढंग से विस्तृत कैसंड्रा पंक्तियां बना सकता है, लेकिन वे सीक्यूएल में "सामान्य" संकीर्ण तालिकाओं की तरह दिखते हैं, सभी कॉलम नाम और परिभाषित किए गए हैं। यही कारण है कि CQL3 अब एक default_validation या comparator, की स्थापना का समर्थन करता है आदि

आप पढ़ सकते हैं और कुछ भी CQL3 में nontrivial करने से पहले http://www.datastax.com/dev/blog/schema-in-cassandra-1-1 को समझना चाहिए।

CREATE TABLE userstats (
    username varchar PRIMARY KEY, 
    images counter 
) WITH comment='User Stats'; 

हालांकि यह स्पष्ट नहीं है कि क्या आप वहाँ प्रति पंक्ति कई काउंटरों का उपयोग करने का इरादा है, क्योंकि आप एक default_validation चाहता था:

अपने प्रश्न का उत्तर है, हालांकि, यह है कि यह default_validation है छोड़ना के रूप में सरल है । यदि आप ऐसा ही किया और अपने comparatorvarchar हो गया होता, तुम कर सकते हो:

CREATE TABLE userstats (
    username varchar, 
    countername varchar, 
    value counter, 
    PRIMARY KEY (username, countername) 
) WITH comment='User Stats'; 

..और जाने images सिर्फ counternames में से एक हो।

+0

मैंने आपके अनुशंसित कमांड को CQL3 प्रॉम्प्ट से उपयोग करने का प्रयास किया और प्राप्त करें: TSocket 0 बाइट्स – mithrix

+1

पढ़ें मेरे अनुभव में, cqlsh सुविधाओं के पीछे पीछे है। आपको सीधे thrift execute_cql – Alar

+1

@Alar cqlsh का उपयोग करने की कोशिश करनी चाहिए cql सुविधाओं में पीछे नहीं है, क्योंकि वास्तविक सीक्यूएल प्रसंस्करण कैसंड्रा पक्ष पर किया जाता है। सीक्लश सिर्फ आउटपुट को सुंदर बनाने में मदद करता है और अच्छी टैब पूर्णता और रीडलाइन कार्यक्षमता प्रदान करता है। यह एक ही बहाव कॉल का उपयोग कर रहा है। –

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