下面是我需要在我的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
谁能帮我为上述用例设计列系列?
"BytesType"。
您可以使用AbstractSerializer.toByteBuffer()和AbstractSerializer.fromByteBuffer()轻松地将"BytesType"转换为所需的数据类型。