如何使用Perl的Net :: Cassandra :: Easy检索所有匹配行的所有列?

时间:2010-03-22 19:35:47

标签: perl nosql cassandra thrift

使用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我想要检索匹配行的所有列?

1 个答案:

答案 0 :(得分:3)

怎么样

$result = $cassandra->get(['row1', 'row2', 'row3'], family => 'Standard1', standard => 1);

standard => 1将强制Net :: Cassandra :: Easy使用与该系列中所有列匹配的切片谓词。