Noob在这里。
我有一个按照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 ) )
我知道问题的一部分可能是在How do I insert a row with a TimeUUIDType column in Cassandra?中提出来的 但它并没有真正帮助我,因为我可能已经接受了timeuuidtypes。
感谢任何帮助。
答案 0 :(得分:0)
假设我没有努力开始。答案其实就是与链接有关。
当我插入时,出现-cli接受链接中的jbellis描述为timeUUID(141a69b0-5c6e-11e0-bcce-343960c1b6b8)的32字节表示。这让我很困惑。
当你用“原始”16字节格式(HÝ0[ÖàÅ49`Á¶¸)得到()时,它工作正常。
干杯。