Я не могу получить TimeUUIDType с phpcassa - PullRequest
0 голосов
/ 01 апреля 2011

Нуб здесь.

У меня есть семейство суперколонок, отсортированных по timeuuidtype, в котором есть несколько записей. Я пытаюсь выполнить простую функцию get с phpcassa, которая не будет работать. Я пытаюсь вернуть определенное значение из столбца, отсортированного по UTF8, внутри SC, отсортированного по TimeUUID. Точный код работает с похожим семейством SC, отсортированным по BytesType.

Вот информация о scf, которую я пытаюсь получить, с которой я ранее вошел через -cli.

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

Я знаю, что часть проблемы могла возникнуть в Как вставить строку со столбцом TimeUUIDType в Cassandra? Но это не очень помогло мне, так как я предположительно принял типы timeuuid.

Спасибо за любую помощь, ребята.

1 Ответ

0 голосов
/ 02 апреля 2011

Предположим, я не слишком старался для начала. Ответ на самом деле был связан со ссылкой.

Похоже, что -cli принял то, что jbellis в ссылке описывает как 32-байтовое представление timeUUID (141a69b0-5c6e-11e0-bcce-343960c1b6b8), когда я его вставил. Это смутило меня.

Отлично работает, когда вы получаете () с «необработанной» 16-байтовой формой (HÝ0 [ÖàÅ49`Á¶¸).

Приветствие.

...