1
我想從我的項目(這將讓我們升級cassandra的版本)使用pycassa本地協議。我的架構使用pycassa定義,因此它使用緊湊的存儲創建的列家族,它有3列其不是複合主鍵的一部分(我知道這不是由CQL協議允許的。)
架構沒有完全從Thrift協議轉換到CQL協議
的版本我目前的Cassandra集羣是2.0.17。當我做「顯示模式」使用節儉協議的模式來爲:
create column family store
with column_type = 'Standard'
and comparator = 'CompositeType(org.apache.cassandra.db.marshal.ReversedType(org.apache.cassandra.db.marshal.LongType),org.apache.cassandra.db.marshal.AsciiType,org.apache.cassandra.db.marshal.AsciiType)'
and default_validation_class = 'DoubleType'
and key_validation_class = 'AsciiType'
and column_metadata = [
{column_name : 'something1',
validation_class : AsciiType},
{column_name : 'something2',
validation_class : AsciiType}]
但是,當我檢查了本地協議的架構,它缺少「欄3」和「價值」欄。它出來,如下所示:現在
CREATE TABLE store (
key ascii,
column1 bigint,
column2 ascii,
something1 ascii,
something2 ascii,
PRIMARY KEY ((key), column1, column2)
) WITH COMPACT STORAGE AND
CLUSTERING ORDER BY (column1 DESC, column2 ASC)
,因爲這種差異,我無法從pycassa在客戶端本地協議轉換。我一直無法找到任何解決此問題的方法,並確保本機協議能夠看到正確的模式。有什麼可以建議我解決這個問題嗎?
我已經在商店裏有很多數據。我懷疑那些數據會回到這個新的模式,如果我只是改變表格,因爲數據實際上已經存在於Thrift協議中。此外,Thrift協議已在_comparator_和_default_validation_class_下具有_value_和_column3_詳細信息 – Nitin