2
當使用Perl的Net::Cassandra::Easy
下面的代碼將行row[1-3]
檢索列col[1-3]
:如何使用Perl的Net :: Cassandra :: Easy檢索所有匹配行的所有列?
$result = $cassandra->get(['row1', 'row2', 'row3'], family => 'Standard1', byname => ['col1', 'col2', 'col3');
對應的SQL將是:
SELECT col1, col2, col3 FROM rows WHERE id IN ('row1', 'row2', 'row3');
假設而不是我想要檢索的所有列。在SQL而言,這將是:
SELECT * FROM rows WHERE id IN ('row1', 'row2', 'row3');
爲了得到我目前使用的所有列:
$result = $cassandra->get(['row1', 'row2', 'row3'], family => 'Standard1', byoffset => { "count" => 1_000_000 });
這隻要可以作爲列數不超過100萬人次。雖然這工作,我會假設有一個更乾淨的方式來做到這一點。有沒有更清晰的方式來指定Cassandra我想檢索匹配行的所有列?
對Cassandra不熟悉,但是不能先運行查詢來獲取表結構,那麼您將知道有多少列可用? – zigdon 2010-03-22 19:38:43
不知道如果開發人員做了這個有一個名爲卡桑德拉,他不喜歡太多... – Zoidberg 2010-03-22 19:41:09
zigdon:不能:-)卡桑德拉的「表結構」是動態的,一行可以說有五個而下一行有四十列。 – knorv 2010-03-22 19:44:41