проблема с форматом данных cassandra cqlsh

У меня есть работающий кластер cassandra с tarball-установкой apache Cassandra 3.7 в режиме одного центра обработки данных.

Проблема CQLSH: когда я описываю семейство столбцов, я вижу, что имена столбцов отображаются правильно, но когда я делаю выбор в таблице, я вижу, что все имена столбцов имеют префикс 'u':

cassandra@cqlsh> describe cassandra_test.employee; 
CREATE TABLE cassandra_test.employee (
    employee_id text PRIMARY KEY,         
    employee_grp_cd text, 
    employee mbrp_id text ) 
WITH bloom filter_fp_chance = 0.01         
    AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'} 
    AND comment = " 
    AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max threshold': '32', emin_threshold': '4'} 
    AND compression = fichunk_length_in_kb1: '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'l 
    AND crc_check_chance = 1.0 
    AND dclocal_read_repair_chance = 0.1 
    AND default_time_to_live = 0 
    AND gc_grace_seconds = 864000 
    AND max_index_interval = 2048 
    AND memtable_flush_period_in ms = 0 
    AND min_indexinterval = 128 
    AND read_repair_chance = 0.0 
    AND speculative_retry = '99PERCENTILE'; 
cassandra@cqlsh> select * from cassandra_test.employee; 

u'employee_id' | u'employee_grp_cd' | u'employee_mbrp_id' 
---------------+--------------------+----------------------

(0 rows) 
Failed to format value u'employee_id' : 'unicode' object has no attribute 'formatter' 
Failed to format value u'employee_grp_cd' : 'unicode' object has no attribute 'formatter' 1 more decoding errors suppressed. cassandra@cqlsh> 0 
1 more decoding errors suppressed.

Когда я вставляю записи и делаю выбор, вставленные значения также имеют префикс 'u'. Я сделал несколько попыток, и каждая связанная ссылка, похоже, указывает на проблему с python.

Моя текущая версия Python: Python 2.7.11 :: Anaconda 4.0.0 (64-разрядная версия), и я сделал pip install cassandra-driver, чтобы установить все недостающие зависимости для драйвера Cassandra. Это не решило проблему.

Любая помощь высоко ценится. Я потратил немало времени, чтобы выяснить, как это исправить, и надеюсь, что смогу получить ответ здесь :)


person shravan    schedule 06.03.2017    source источник
comment
Добро пожаловать в StackOverflow! Пожалуйста, не размещайте ссылки на изображения/скриншоты, которые содержат только текст. Скопируйте/вставьте активность терминала прямо в свой вопрос. stackoverflow.com/help/how-to-ask   -  person Aaron    schedule 06.03.2017
comment
Этого не происходит, когда я запускаю cqlsh с этой средой выполнения Python. Это немного сбивает с толку, потому что обычно эту ошибку можно увидеть с Python ‹ 2.6, но cqlsh в этом случае не запустится. Можешь попробовать cqlsh --debug -e "select * from cassandra_test.employee;"?   -  person Adam Holmberg    schedule 08.03.2017
comment
расшифровка кода на снимке экрана, чтобы в случае потери снимка экрана возникла проблема с кодом. Похоже на юникод   -  person The Red Pea    schedule 09.03.2017


Ответы (1)


Возможная причина: ваш путь cqlsh – /usr/local/bin/cqlsh, который может быть установлен с помощью pip. (проверьте какой cqlsh командой $ which cqlsh)

Решение: используйте Cassandra, поставленную /usr/bin/cqlsh, чтобы подключить узел Cassandra с помощью команды:

$ /usr/bin/cqlsh <ip>

Затем запросите, чтобы проверить результат, префикс «u» исчезнет.

person Jingchao Luan    schedule 01.05.2019