Cassandra テーブルでは、「コレクション型」列のデータ型を変更するたびに、問題が発生し始めます。例えば:
データ型を からtext
に変更するには、次のようMap<text,float>
にします。
- 既存の列をドロップ
- cassandra がこの変更を吸収するのを待ちます。
- 列(同じ名前)を追加しますが、データ型は異なります。
これはすべてのノードで正常に反映されますが、Cassandra ログは圧縮中に次のように不平を言い始めます。
RuntimeException: 6d6...73 はコレクションとして定義されていません
comparator
表のエントリが正しくないことがわかりました"system.schema_columnfamilies"
。テーブルを削除して再作成すると問題は解決しますが、常に可能とは限りません。
上記のような状況でコレクション型の列を扱う際のベスト プラクティスはありますか?
データベースのバージョン: DataStax-Enterprise: 4.7.1 Cassandra 2.1.8.621
cqlsh 5.0.1