2014-10-02 8 views
7

मैं यह सत्यापित करना चाहता हूं कि पंक्तियों में पंक्तियां शामिल हो रही हैं। क्या सीक्यूएल स्टेटमेंट नीचे दी गई तालिका से अंतिम एन पंक्तियां दिखाएगा?कैसंड्रा सीक्यूएल: तालिका से पिछली एन पंक्तियों का चयन कैसे करें

टेबल नीचे दिए गए विवरण:

cqlsh:timeseries> describe table option_data; 

CREATE TABLE option_data (
    ts bigint, 
    id text, 
    strike decimal, 
    callask decimal, 
    callbid decimal, 
    maturity timestamp, 
    putask decimal, 
    putbid decimal, 
    PRIMARY KEY ((ts), id, strike) 
) WITH 
    bloom_filter_fp_chance=0.010000 AND 
    caching='KEYS_ONLY' AND 
    comment='' AND 
    dclocal_read_repair_chance=0.100000 AND 
    gc_grace_seconds=864000 AND 
    index_interval=128 AND 
    read_repair_chance=0.000000 AND 
    replicate_on_write='true' AND 
    populate_io_cache_on_flush='false' AND 
    default_time_to_live=0 AND 
    speculative_retry='99.0PERCENTILE' AND 
    memtable_flush_period_in_ms=0 AND 
    compaction={'class': 'SizeTieredCompactionStrategy'} AND 
    compression={'sstable_compression': 'LZ4Compressor'}; 

cqlsh:timeseries> 

उत्तर

12

आप पिछले n "क्या द्वारा" निर्दिष्ट नहीं किया।

आईडी प्रति पिछले एन प्राप्त करने के लिए:

SELECT * FROM option_data WHERE ts=1 ORDER BY id DESC LIMIT N; 

आदेश BY खंड केवल एक यौगिक प्राथमिक कुंजी में दूसरे स्तंभ के लिए लागू किया जा सकता है। यदि आपको समय के साथ पूछताछ की आवश्यकता है तो आपको अपने डेटा मॉडल के बारे में कुछ और सोचने की आवश्यकता होगी।

आपके प्रश्नों को सबसे अधिक बार "पिछले एन" कर रहे हैं, तो आप इस तरह कुछ लिखने पर विचार हो सकता है:

CREATE TABLE time_series (
    id text, 
    t timeuuid, 
    data text, 
    PRIMARY KEY (id, t) 
) WITH CLUSTERING ORDER BY (t DESC) 

... जहां 'आईडी' अपने समय श्रृंखला आईडी है। क्लस्टरिंग ऑर्डर टाइमयूड 'टी' के क्रम को उलट देता है, जिससे कोशिकाएं आपकी क्वेरी के लिए प्राकृतिक क्रम में संग्रहीत होती हैं।

इस के साथ

, आप पिछले पांच घटनाओं के रूप में इस मिलेगा:

SELECT * FROM time_series WHERE id='stream id' LIMIT 5; 

वहाँ जानकारी का एक बहुत कैसेंड्रा में समय श्रृंखला के लिए वहाँ बाहर है। मैं इस मामले पर कुछ और हालिया लेख पढ़ने का सुझाव देता हूं। यह संक्षिप्त और अपेक्षाकृत हालिया है: http://www.datastax.com/documentation/tutorials/Time_Series.pdf

+1

एडम धन्यवाद। – Ivan

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