2014-10-02 30 views
7

Satırların tabloya eklendiğini doğrulamak istiyorum. Hangi cql ifadesi aşağıdaki tablodan son n satırı gösterecektir? AşağıdaCassandra cql: Tablodan LAST n satırlarının seçilmesi

Tablo tanımı:

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> 

cevap

12

Sen "ne tarafından" son n belirtmedi.

id başına son N almak için: Madde İLE

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

SİPARİŞ sadece bir bileşiğin bir birincil anahtar ikinci kolona uygulanabilir. Zamana göre sorgulamanız gerekirse, veri modelinizi biraz daha düşünmeniz gerekecektir.

sorgularınızın çoğunlukla "son N" ise

, böyle bir şey yazmaya düşünebilirsiniz: 'id' senin zaman serisi id

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

.... CLUSTERING ORDER, 't' zaman diliminin sırasını tersine çevirerek, hücrenin sorgunuz için doğal bir sırayla depolanmasını sağlar. şöyle Bununla

, dün beş olayları alacağı: birçok bilgi Cassandra'ya Zaman dizileri için orada var

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

. Konuyla ilgili daha yeni makalelerin bir kısmını okumanızı tavsiye ediyorum. Bu kısa ve göreceli olarak son: http://www.datastax.com/documentation/tutorials/Time_Series.pdf

+1

Adam teşekkür ederim. – Ivan

İlgili konular