簡體   English   中英

如何有效地獲取Cassandra表中的所有行名?

[英]How do I obtain all the row names in a Cassandra table, efficiently?

我在卡桑德拉一個簡單的模式,其中我在推薦存儲大量的金融市場時間序列按模式1 這里即: 在此處輸入圖片說明 大約有2000個行情自動收錄器,每個行都在其中,並且每個行都有100k至1m的時間序列數據點(“列”)。 如何有效獲得股票行情名稱(即2000個股票行情名稱?在上面的類比中,藍色的“ WeatherStationID”單元格?)。 與上面的唯一區別是我按時間DESC對行進行排序,因此我的實際表如下所示:

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)

我是否必須從整個表中選擇*超過某個時間戳值,然后對此進行解析? 這樣做的問題在於,並非所有報價器都具有最新數據,因此我可能不得不花很長時間才能捕獲所有數據,在這種情況下,對於具有大量最新數據的報價器,我可能會獲得大量冗余信息。

實際上,您應該能夠使用DISTINCT非常快速地查詢分區鍵:

SELECT DISTINCT ticker FROM ts.mindesc;

雖然CQL中的100k行在未綁定WHERE的情況下可能無法很好地執行,但2000個分區鍵應該不是問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM