Схема не полностью переведена из протокола Thrift в протокол CQL

Я пытаюсь перейти от использования pycassa к нативному протоколу в моем проекте (что позволит нам обновить версию cassandra). Моя схема была определена с использованием pycassa, поэтому она создала семейство Column с использованием компактного хранилища и имеет 3 столбца, которые не являются частью составного первичного ключа (я знаю, что это не разрешено протоколом CQL).

Версия моего текущего кластера Cassandra - 2.0.17. Схема, когда я делаю "показать схему" с использованием протокола Thrift, выглядит так:

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}]


Но когда я проверяю схему на собственном протоколе, в ней отсутствуют столбцы "column3" и "value". Получается так:

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 на собственный протокол на стороне клиента. Я не смог найти ничего, чтобы преодолеть эту проблему и убедиться, что собственный протокол видит правильную схему. Можете ли вы предложить мне что-нибудь исправить?

1 ответ

Короче измените таблицу, добавив пропущенные столбцы.

Похоже, у вас нет метаданных столбца для значения или column3. Я не уверен, что это за типы, если они просто ascii, вы должны быть в состоянии сделать следующее:

ALTER TABLE store ADD column3 ascii;
ALTER TABLE store ADD value ascii;
Другие вопросы по тегам