Я пытаюсь подключиться к Cassandra, чтобы выполнить массовую вставку. Однако, когда я пытаюсь подключиться, я получаю сообщение об ошибке.
Код, который я использую:
from pycassa import columnfamily
from pycassa import pool
cassandra_ips = ['<an ip addr>']
conpool = pool.ConnectionPool('my_keyspace', cassandra_ips)
colfam = columnfamily.ColumnFamily(conpool, 'my_table')
Однако это не удается в этой последней строке:
pycassa.cassandra.ttypes.NotFoundException: NotFoundException(_message=None, why='Column family my_table not found.')
Семейство столбцов определенно существует:
cqlsh> use my_keyspace
... ;
cqlsh:my_keyspace> desc tables;
my_table
cqlsh:my_keyspace>
И я не думаю, что это простая опечатка в названии таблицы, так как проверял с десяток раз, но и из-за этого:
In [3]: sys_mgr = pycassa.system_manager.SystemManager(cassandra_ips[0])
In [4]: sys_mgr.get_keyspace_column_families('my_keyspace')
Out[4]: {}
Почему это {}
?
Если это важно:
- Семейство таблиц/столбцов было создано с помощью CQL.
- На данный момент таблица пуста.
Таблица была примерно создана с использованием:
CREATE TABLE my_table ( user_id int, year_month int, t timestamp, <tons of other attributes> PRIMARY KEY ((user_id, year_month), t) ) WITH compaction = { 'class' : 'LeveledCompactionStrategy', 'sstable_size_in_mb' : 160 };
my_table
создан с компактным хранилищем? - person Drewness   schedule 08.03.2014) WITH COMPACT STORAGE;
- person Drewness   schedule 08.03.2014