2014-10-28 9 views
24

यह एक सुपर मूल प्रश्न है लेकिन यह वास्तव में दिनों के लिए मुझे परेशान कर रहा है। क्या कैसंद्रा में दी गई तालिका के COUNT(*) के बराबर प्राप्त करने का कोई अच्छा तरीका है?कैसंड्रा तालिका में पंक्तियों की संख्या कैसे प्राप्त करें

मैं लोड लोडिंग के लिए कई सैकड़ों लाखों पंक्तियों को सी * में ले जाउंगा और नेटवर्क पर भारी मात्रा में डेटा ले जाने से पहले मैं कम से कम कुछ नमूना ईटीएल नौकरियों पर पंक्ति गणना प्राप्त करना चाहता हूं।

मेरे पास सबसे अच्छा विचार है कि प्रत्येक पंक्ति पर पाइथन और ऑटो काउंटर वृद्धि के साथ मूल रूप से लूप होना है। क्या सी * टेबल के पंक्ति आकार को निर्धारित करने (या अनुमानित) करने का कोई बेहतर तरीका है? मैंने डेटास्टैक्स ओपीएस सेंटर के चारों ओर भी देखा है कि मैं वहां पंक्ति का आकार निर्धारित कर सकता हूं या नहीं। यदि आप कर सकते हैं, तो मैं नहीं देखता कि यह कैसे संभव है।

किसी और को सी * में एक तालिका के count(*) प्राप्त करने की आवश्यकता है? यदि हां, तो आप इसे करने के बारे में कैसे गए?

+0

देख http://stackoverflow.com/questions/1951843/row-count-of-a-column-family-in-cassandra –

उत्तर

27

हां, आप COUNT(*) का उपयोग कर सकते हैं। यहां documentation है।

COUNT (*) का उपयोग करके एक चयन अभिव्यक्ति क्वेरी से मेल खाने वाली पंक्तियों की संख्या देता है। वैकल्पिक रूप से, आप एक ही परिणाम प्राप्त करने के लिए COUNT (1) का उपयोग कर सकते हैं।

SELECT COUNT(*) FROM users; 
+0

मैं curiius हूँ कब तक वापस सुनना के लिए nodetool tablestats <keyspace.table> आपकी गिनती लेती है शायद आप वापस रिपोर्ट कर सकते हैं। :) –

+3

वाह। मैं बेवकूफ़ हूँ। मुझे दस्तावेज़ों में कैसे याद आया? – evanv

+40

यह तुम्हारी बारी थी। हम सब बेवकूफ होने पर एक मोड़ मिलता है। मेरा कल आ रहा है। इंतजार नहीं कर सकता बेंचमार्क के मामले में –

5

अगर आप एक सटीक गणना (इन मूल्यों अनुमान कर रहे हैं) की जरूरत नहीं है तुम भी nodetool cfhistograms से कुछ अनुमान प्राप्त कर सकते हैं:

उन तालिका में पंक्तियों की संख्या की गणना।

यदि आप डीएसई चला रहे हैं तो आप स्पार्क का भी उपयोग कर सकते हैं।

+0

गिनती को तेजी से बनाने के लिए आप स्पार्क का उपयोग कैसे कर सकते हैं? उदाहरण के लिए मेरे पास अरबों रिकॉर्ड हैं और मैं पंक्तियों की संख्या को गिनने के लिए स्पार्क का उपयोग कर रहा हूं। इसे पूरा करने में मुझे 1 घंटे 30 मिनट लग गए। यहां अधिक जानकारी http: // stackoverflow हैं।com/प्रश्न/40778936/अपाचे-चिंगारी एसक्यूएल-है-लेने-हमेशा के लिए करने के लिए गिनती-अरब पंक्तियों-से-कैसेंड्रा/40781384? noredirect = 1 # comment68807487_40781384 – user1870400

1

nodetool tablestats जल्दी से पंक्ति अनुमान (और अन्य तालिका आंकड़े) प्राप्त करने के लिए बहुत आसान हो सकता है।

एक विशिष्ट तालिका

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

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