2015-11-16 111 views
1

我在卡桑德拉一個簡單的模式,其中我在建議中存儲了大量的金融市場時間序列按模式1 here即: enter image description here 大約有2000行情,各自在自己的行,有間100k和1m時間序列數據點(「列」)。我如何有效地獲取股票名稱(例如,2000股票代碼名稱?在上面的比喻中,藍色的「WeatherStationID」單元格?)。從上面的唯一區別是,我已經按時間倒序排列的行,所以我的實際表看起來像這樣:如何有效地獲取Cassandra表中的所有行名稱?

CREATE TABLE ts.mindesc (
    ticker text, 
    time timestamp, 
    close float, 
    high float, 
    low float, 
    numevents int, 
    open float, 
    source text, 
    value float, 
    PRIMARY KEY (ticker, time) 
) WITH CLUSTERING ORDER BY (time DESC) 

我必須選擇*從整個表超過一定的時間戳值和分析呢?問題在於並不是所有的代碼都有最新的數據,所以我可能需要花費很長時間來捕獲它們,在這種情況下,對於具有大量最新數據的代碼,我可能會通過大量冗餘信息。

回答

2

其實,你應該能夠查詢分區鍵非常快使用DISTINCT

SELECT DISTINCT ticker FROM ts.mindesc; 

雖然100K行定製列表中可能不會有一個未綁定的WHERE,2000分區鍵不應該」表現良好t是個問題。

相關問題