0

以下は、Cassandra 列ファミリーで表す必要があるデータです。

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

userIdrowKeyこちらです。とe1_namee1_schemanamee1_last_modified_dateは、 に特化した列ですe1。これらの 3 つの列にはすべて、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

今、私はどのように先に進み、上記のユース ケースの動的列ファミリーを作成するべきかを考えています。私が直面している問題は、各列に独自のデータ型があることです。の場合e1e1_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

上記のユースケースの列ファミリーの設計を手伝ってくれる人はいますか?

4

1 に答える 1

0

「BytesType」を使用できます。

AbstractSerializer.toByteBuffer() および AbstractSerializer.fromByteBuffer() を使用して、「BytesType」を目的のデータ型に/から簡単に変換できます。

于 2013-09-26T07:18:08.403 に答える