2012-06-14 3 views
1

Я вставил строковые и целочисленные значения в динамические столбцы в семействе столбцов Cassandra. Когда я запрашиваю значения в CQL, они отображаются как шестнадцатеричные кодированные биты.Cassandra CQL: как выбрать закодированное значение из столбца

Могу ли я как-то сказать запрос на декодирование значения в строку или целое число?

Я также был бы рад сделать это в CLI, если это будет проще. Там я вижу, что вы можете указать assume <column_family> validator as <type>;, но это относится ко всем столбцам, и они имеют разные типы, поэтому я должен многократно выполнять предположение и запрос.

(Обратите внимание, что столбцы являются динамическими, поэтому я не указал валидатор при создании семейства столбцов).

+0

Вы указали default_validation_class в спецификации columnfamily? – Tamil

+0

@Tamil: Нет. Я не задал default_validation_class, потому что все значения не одного и того же типа, поэтому для некоторых столбцов было бы неверным. –

+0

, тогда cql не сможет выполнить действительное декодирование, я думаю. По умолчанию это вопрос, который я думаю. Я не экспериментирую «предположим», давайте попробуем его для вас – Tamil

ответ

0

Вы можете использовать ASSUME в cqlsh как в cassandra-cli (хотя он применяется только к значениям печати, а не по их отправке, но для вас это должно быть хорошо). Вы можете также использовать его на основе каждого столбца, как:

ASSUME <column_family> ('anchor:cnnsi.com') VALUES ARE text; 

..хотя (а), я просто проверял, и эта функция нарушена в Кассандре 1.1.1 и позже. Я опубликовал исправление в CASSANDRA-4352. И (б), это, вероятно, не очень универсальное или полезное решение для более чем нескольких одноразовых применений. Я бы настоятельно рекомендовал использовать CQL 3 здесь, так как CQL прямая поддержка для больших строк двигателя хранения, как это, устарела. Ваша таблица здесь, конечно, адаптируется к (проще использовать) модели CQL 3, но я не мог точно сказать, что бы это было, не зная больше о том, как вы ее используете.

+0

Вот что я искал - думал, что для указания столбца должен быть синтаксис, но он не может найти его в каких-либо документах. Дикая карта будет приятной, но сейчас это нужно делать. Благодарю. Я также проверю CQL 3. –

Смежные вопросы