[英]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.