使用Perl Net::Cassandra::Easy
时,以下代码将从行col[1-3]
中检索列row[1-3]
:
$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 });
只要列数不超过一百万,这就有效。虽然这有效,但我认为有一种更清洁的方法。有没有更简洁的方法来指定Cassandra我想要检索匹配行的所有列?
答案 0 :(得分:3)
怎么样
$result = $cassandra->get(['row1', 'row2', 'row3'], family => 'Standard1', standard => 1);
standard => 1
将强制Net :: Cassandra :: Easy使用与该系列中所有列匹配的切片谓词。