2010-03-15 118 views
4

假設以下數據集:Cassandra API相當於「SELECT ... FROM ... WHERE id IN('...','...','...');」

id  age city  phone 
==  === ====  ===== 
alfred 30 london 3281283 
jeff  43 sydney 2342734 
joe  29 tokyo  1283881 
kelly 54 new york 2394929 
molly 20 london 1823881 
rob  39 sydney 4928381 

得到以下結果集..

id  age phone 
==  === ===== 
alfred 30 3281283 
joe  29 1283881 
molly 20 1823881 

..用SQL一個會發出..

SELECT id, age, phone FROM dataset WHERE id IN ('alfred', 'joe', 'molly'); 

什麼是相應的Cassandra API調用會在一個命令中產生相同的結果集?

+1

除了jbellis答案:客戶節儉在API部分的Cassandra維基頁面上很好地解釋了API:http://wiki.apache.org/cassandra/API – Schildmeijer 2010-03-15 15:19:39

回答

4

如下所述,你會做一個multiget_slice W /阿爾弗雷德,喬,莫莉和ID,年齡,電話的SlicePredicate COLUMN_NAMES的鍵

2

一個卡桑德拉相當於可以近似:

Users = { //this is a ColumnFamily 
    "alfred": { //this is the key to this Row inside the CF 
    "age":"30", 
    "city":"london", 
    "phone":"3281283" 
    }, // end row 
    // more rows... 
} 

其中「alfred」是你的(行)鍵,該行有三列;年齡,城市和電話。 (省略時間戳字段(爲簡單起見)爲三列)

相關問題