如何使用Perl'检索所有匹配行的所有列;s网::卡桑德拉::容易吗?

如何使用Perl'检索所有匹配行的所有列;s网::卡桑德拉::容易吗?,perl,nosql,cassandra,thrift,Perl,Nosql,Cassandra,Thrift,使用Perl的Net::Cassandra::Easy时,以下代码将从行行[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',

使用Perl的
Net::Cassandra::Easy
时,以下代码将从行
行[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');
SELECT * FROM rows WHERE id IN ('row1', 'row2', 'row3');
相反,假设我想要检索所有列。用SQL术语来说,这将是:

SELECT col1, col2, col3 FROM rows WHERE id IN ('row1', 'row2', 'row3');
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::易于使用与族中所有列匹配的切片谓词。

不熟悉Cassandra,但您不能早些运行查询以获取表结构,所以你知道有多少列可用?想知道制作这个的开发人员是否有一个不太喜欢的前卡桑德拉…zigdon:没有:-)卡桑德拉中的“表结构”是动态的,一行可以有五列,而下一行可以有四十列。太棒了!正是我要找的!谢谢