Cassandra列系列适用于不同的数据类型

时间:2013-09-25 17:26:02

标签: java cassandra column-family

以下是我需要在Cassandra Column Family中表示的数据。

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

userId在这里是rowKeye1_namee1_schemanamee1_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

任何人都可以帮我设计上述用例的列族吗?

1 个答案:

答案 0 :(得分:0)

您可以使用“BytesType”。

您可以使用AbstractSerializer.toByteBuffer()和AbstractSerializer.fromByteBuffer()

轻松地将“BytesType”转换为您想要的数据类型