Я пытаюсь настроить и запустить Cassandra 3.10 в своем локальном докере (https://hub.docker.com/_/cassandra/). Все идет хорошо, пока я не пытаюсь выбрать из одной таблицы.
Это ошибка, которую я получаю каждый раз, когда запускаю выбор из чего угодно:
'Row' object has no attribute 'values'
Шаги, которые я выполнил:
Я создал новое пространство ключей, используя суперпользователя по умолчанию: cassandra. создать
keyspace test with replication = {'class':'SimpleStrategy','replication_factor' : 2};
иUSE test;
Я создал новую таблицу:
create table usertable (userid int primary key, usergivenname varchar, userfamilyname varchar, userprofession varchar);
Вставьте некоторые данные:
insert into usertable (userid, usergivenname, userfamilyname, userprofession) values (1, 'Oliver', 'Veits', 'Freelancer');
Попробуйте выбрать:
select * from usertable where userid = 1;
Я получил эти шаги от: https://oliverveits.wordpress.com/2016/12/08/cassandra-hello-world-example/ просто для того, чтобы скопировать и вставить некоторый рабочий код (меня бесили синтаксис и опечатки)
Это журналы моего образа докера:
INFO [Native-Transport-Requests-1] 2017-04-23 19:09:12,543 MigrationManager.java:303 - Create new Keyspace: KeyspaceMetadata{name=test2, params=KeyspaceParams{durable_writes=true, replication=ReplicationParams{class=org.apache.cassandra.locator.SimpleStrategy, replication_factor=2}}, tables=[], views=[], functions=[], types=[]}
INFO [Native-Transport-Requests-1] 2017-04-23 19:09:41,415 MigrationManager.java:343 - Create new table: org.apache.cassandra.config.CFMetaData@1b484e82[cfId=6757f460-2858-11e7-9787-6d2c86545d91,ksName=test2,cfName=usertable,flags=[COMPOUND],params=TableParams{comment=, read_repair_chance=0.0, dclocal_read_repair_chance=0.1, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=864000, default_time_to_live=0, memtable_flush_period_in_ms=0, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@4bce743f, extensions={}, cdc=false},comparator=comparator(),partitionColumns=[[] | [userfamilyname usergivenname userprofession]],partitionKeyColumns=[userid],clusteringColumns=[],keyValidator=org.apache.cassandra.db.marshal.Int32Type,columnMetadata=[usergivenname, userprofession, userid, userfamilyname],droppedColumns={},triggers=[],indexes=[]]
INFO [MigrationStage:1] 2017-04-23 19:09:41,484 ColumnFamilyStore.java:406 - Initializing test2.usertable
INFO [IndexSummaryManager:1] 2017-04-23 19:13:25,214 IndexSummaryRedistribution.java:75 - Redistributing index summaries
Большое спасибо!
ОБНОВЛЕНИЕ
Я создал еще одну таблицу с таким столбцом uuid: «первичный ключ uuid uuid». Это работает, когда таблица пуста, но после одной вставки я получаю ту же ошибку
'Row' object has no attribute 'keys'
. Перезагрузка решила проблему. 22.02.2018