Arhn - архитектура программирования

SELECT Error Объект Cassandra 'Row' не имеет атрибута 'values'

Я пытаюсь настроить и запустить Cassandra 3.10 в своем локальном докере (https://hub.docker.com/_/cassandra/). Все идет хорошо, пока я не пытаюсь выбрать из одной таблицы.

Это ошибка, которую я получаю каждый раз, когда запускаю выбор из чего угодно:

'Row' object has no attribute 'values'

Шаги, которые я выполнил:

  1. Я создал новое пространство ключей, используя суперпользователя по умолчанию: cassandra. создать keyspace test with replication = {'class':'SimpleStrategy','replication_factor' : 2}; и USE test;

  2. Я создал новую таблицу: create table usertable (userid int primary key, usergivenname varchar, userfamilyname varchar, userprofession varchar);

  3. Вставьте некоторые данные: insert into usertable (userid, usergivenname, userfamilyname, userprofession) values (1, 'Oliver', 'Veits', 'Freelancer');

  4. Попробуйте выбрать: 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». Это работает, когда таблица пуста, но после одной вставки я получаю ту же ошибку


  • Попробуйте \sudo pip install cassandra-driver --upgrade 24.04.2017
  • Привет @AshrafulIslam, спасибо, но все та же проблема 24.04.2017
  • Проблема в cqlsh, ваша кассандра в порядке. Кстати, какую ОС вы используете? 24.04.2017
  • Еще раз привет @AshrafulIslam, я использую Ubuntu 16.04. Я пробовал другие версии Cassandra (даже версию 2), но у меня та же проблема. Большое спасибо за помощь! 25.04.2017

Ответы:


1

У меня была такая же проблема, я использовал cqlsh. Вам просто нужно перезагрузить. Вероятно, это ошибка cqlsh в первый раз или после создания схемы.

~$ sudo docker run --name ex1 -d  cassandra:latest                                 
9c1092938d29ec7f94bee773cc2adc0a23ff09344e32500bfeb1898466610d06
~$ sudo docker exec -ti ex1 /bin/bash                                         
root@9c1092938d29:/# cqlsh
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.10 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
cqlsh> CREATE SCHEMA simple1 
   ... WITH replication={
   ... 'class': 'SimpleStrategy',
   ... 'replication_factor':1};
cqlsh> use simple1;
cqlsh:simple1> create table users(id varchar primary key, first_name varchar, last_name varchar);
cqlsh:simple1> select * from users;

 id | first_name | last_name
----+------------+-----------

(0 rows)
cqlsh:simple1> insert into users(id, first_name, last_name) values ('U100001', 'James', 'Jones');
cqlsh:simple1> select * from users;
'Row' object has no attribute 'values'
cqlsh:simple1> quit


root@9c1092938d29:/# cqlsh     
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.10 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
cqlsh> use simple1;
cqlsh:simple1> select * from users;

 id      | first_name | last_name
---------+------------+-----------
 U100001 |      James |     Jones

(1 rows)
12.05.2017
  • Я получал ошибку 'Row' object has no attribute 'keys'. Перезагрузка решила проблему. 22.02.2018
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..