2

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 });

これは、列数が 100 万を超えない限り機能します。これは機能しますが、もっとクリーンな方法があると思います。一致する行のすべての列を取得するように Cassandra に指定するよりクリーンな方法はありますか?

4

1 に答える 1

3

どうですか

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

standard => 1Net :: Cassandra ::Easyは、ファミリ内のすべての列に一致するスライス述語を使用するように強制されます。

于 2010-03-22T23:21:57.257 に答える