当使用 Perl 的 Net::Cassandra::Easy
时,以下代码将从行 row[1-3] 中检索列
:col[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 指定我想要检索匹配行的所有列?
最佳答案
怎么样
$result = $cassandra->get(['row1', 'row2', 'row3'], family => 'Standard1', standard => 1);
standard => 1
将强制 Net::Cassandra::Easy 使用与族中所有列匹配的切片谓词。
关于perl - 如何使用 Perl 的 Net::Cassandra::Easy 检索所有匹配行的所有列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2495141/