Семейство столбцов Cassandra для разных типов данных

Ниже приведены данные, которые мне нужно представить в моем семействе столбцов Cassandra.

rowKey           e1_name                    e1_schemaname                   e1_last_modified_date
123             (ByteArray value)           abc (some string)               some_date

userId здесь rowKey. А e1_name, e1_schemaname и e1_last_modified_date — это столбцы специально для e1. Все эти три столбца содержат значение специально для столбца e1. Точно так же у меня будут другие столбцы, такие как ниже.

 e2_name                    e2_schemaname                   e2_last_modified_date
(ByteArray value)           abc (some string)               some_date

 e3_name                    e3_schemaname                   e3_last_modified_date
(ByteArray value)           abc (some string)               some_date

Теперь я думаю, как мне продолжить и создать семейство динамических столбцов для моего вышеуказанного варианта использования. Проблема, с которой я сталкиваюсь, заключается в том, что каждый столбец будет иметь свой собственный тип данных. Для e1 у меня будет e1_name, который является ByteArray, e1_schemaname, который будет UTF8, e1_last_modified_date, который будет DateType. И то же самое для серий e2 и e3.

Это то, что у меня есть, но я не думаю, что это сработает.

create column family USER_DATA
with key_validation_class = 'UTF8Type'
and comparator = 'UTF8Type'
and default_validation_class = 'UTF8Type'
and gc_grace = 86400

Может ли кто-нибудь помочь мне в разработке семейства столбцов для вышеуказанного варианта использования?


person arsenal    schedule 25.09.2013    source источник
comment
Почему бы не смоделировать вашу схему с помощью CQL3?   -  person Piotr Kołaczkowski    schedule 25.09.2013
comment
Потому что мы используем семейство столбцов в каком-то другом ключевом пространстве, и у нас есть готовый код DAO для этого, и он работает в производстве. Так что нам пока не нужно экспериментировать с CQL3...   -  person arsenal    schedule 25.09.2013
comment
Вы используете Hector-клиент?   -  person Jignesh Dhua    schedule 26.09.2013
comment
@Jignesh: Нет .. Я использую клиент Astyanax ..   -  person arsenal    schedule 26.09.2013


Ответы (1)


Вы можете использовать «BytesType».

Вы можете легко преобразовать «BytesType» в/из желаемого типа данных, используя AbstractSerializer.toByteBuffer() и AbstractSerializer.fromByteBuffer()

person Jignesh Dhua    schedule 26.09.2013