का उपयोग कर कैसंड्रा में कंपोजिट टाइप प्रकार कॉलम का सामना करना पड़ रहा है जिस परिदृश्य का सामना कर रहा हूं उसका नमूना यहां दिया गया है।हेक्टर
create column family CompositeTypeCF
with comparator = 'CompositeType(IntegerType,UTF8Type)'
and key_validation_class = 'UTF8Type'
and default_validation_class = 'UTF8Type'
कुछ नमूने यहां जावा हेक्टर का उपयोग कर कोड के रूप में कैसे मैं इस स्तंभ परिवार में कुछ डेटा सम्मिलित करने के बारे जाना चाहते करने के लिए: अगर
Cluster cluster = HFactory.getOrCreateCluster("Test Cluster", "192.168.1.6:9160");
Keyspace keyspaceOperator = HFactory.createKeyspace("CompositeTesting", cluster);
Composite colKey1 = new Composite();
colKey1.addComponent(1, IntegerSerializer.get());
colKey1.addComponent("test1", StringSerializer.get());
Mutator<String> mutator = HFactory.createMutator(keyspaceOperator, StringSerializer.get());
Mutator<String> addInsertion = mutator.addInsertion("rowkey1", "CompositeTypeCF",
HFactory.createColumn(colKey1, "Some Data", new CompositeSerializer(), StringSerializer.get()));
mutator.execute();
यह काम करता है, और मुझे लगता है मैं इस स्तंभ परिवार है कहो कैसेंड्रा-CLI के पास जाकर एक सूची मैं इस मिलता है:
$ list CompositeTypeCF;
Using default limit of 100
-------------------
RowKey: rowkey1
=> (column=1:test1, value=Some Data, timestamp=1326916937547000)
मेरा प्रश्न अब यह है: मैं हेक्टर में इस डेटा से क्वेरी के बारे में कैसे जाते हैं? असल में मैं कुछ मायनों में यह क्वेरी करने के लिए की आवश्यकता होगी:
- मुझे पूरी पंक्ति दें जहां पंक्ति कुंजी = "rowkey1"
- मुझे स्तंभ डेटा दें जहां स्तंभ नाम के पहले भाग = कुछ पूर्णांक मान
- मुझे सभी स्तंभों दें जहां स्तंभ नाम का पहला हिस्सा एक निश्चित सीमा
क्या आप विस्तारित कर सकते हैं कि हमें अंतिम घटक में GREATER_THAN_EQUAL क्यों चाहिए? मैं लेख के माध्यम से चला गया, लेकिन चीजें अभी भी अस्पष्ट हैं। –
मैंने इसे एक अलग प्रश्न के रूप में पूछा है ताकि मैं आपको अंक दे सकूं! –
मुझे नहीं पता, मैंने स्वयं को यह समझाने के लिए कुछ नमूना कोड के साथ प्रयोग किया कि यह मेरी आवश्यकतानुसार काम करता है। – libjack