菜鸟在这里。
我有一个按 timeuuidtype 排序的超级列族,其中包含许多条目。我正在尝试使用 phpcassa 执行一个简单的 get 函数,但它不起作用。我正在尝试从 TimeUUID 排序的 SC 中的 UTF8 排序列返回特定值。确切的代码适用于按 BytesType 排序的类似 SC 系列。
这是我之前通过 -cli 输入的 scf 的信息。
ColumnFamily: testSCF (Super)
Columns sorted by: org.apache.cassandra.db.marshal.TimeUUIDType/org.apache.cassandra.db.marshal.UTF8Type
RowKey: TestKey
=> (super_column=48dd0330-5bd6-11e0-adc5-343960c1b6b8,
(column=test, value=74657374, timestamp=1301603831288000))
=> (super_column=141a69b0-5c6e-11e0-bcce-343960c1b6b8,
(column=new test, value=6e657774657374, timestamp=1301669004440000))
这是我用来检索数据的 phpcassa 脚本。
<?php
require_once('.../connection.php');
require_once('.../columnfamily.php');
$conn = new Connection('siteRoot');
$scf = 'testSCF';
$key = 'testKey';
$super = '141a69b0-5c6e-11e0-bcce-343960c1b6b8';
$col = 'new test';
$entry = new ColumnFamily($conn, $scf);
$q = ($entry->get($key, $columns=array($super)));
echo $q[$super][$col];
?>
另外,如果我没有像这样指定 SC。
$q = ($entry->get($key));
print_r($q);
它返回:
Array ( [HÝ0[ÖàÅ49`Á¶¸] => Array ( [test] => test ) [i°\nà¼Î49`Á¶¸] => Array ( [new test] => newtest ) )
我知道部分问题可能已在如何在 Cassandra 中插入带有 TimeUUIDType 列的行中提出? 但这并没有真正帮助我,因为我大概已经接受了 timeuuidtypes。
感谢您的帮助。