我无法使用phpcassa获取TimeUUIDType

时间:2011-04-01 19:22:52

标签: uuid cassandra-0.7 phpcassa

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。

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

假设我没有努力开始。答案其实就是与链接有关。

当我插入时,出现-cli接受链接中的jbellis描述为timeUUID(141a69b0-5c6e-11e0-bcce-343960c1b6b8)的32字节表示。这让我很困惑。

当你用“原始”16字节格式(HÝ0[ÖàÅ49`Á¶¸)得到()时,它工作正常。

干杯。