2016-02-24 4 views
1

У меня есть кластер Cassandra с 5 узлами.Cassandra Verifying Bulk Import

Я создал пространство ключей с replication_factor = 3 и создал таблицу внутри.

Я использовал cqlsh для загрузки CSV в таблицу.

я получаю это сообщение после загрузки:

355637 rows imported from 1 file 

Однако при подключении к кластеру с cqlsh и выполнить

select count(*) from my_keyspaces.my_table; 

я только получаю

count 
-------- 
122715 

мой путь схема настроена, на самом деле есть только 6 строк (по одному для каждого устройства), используя Cassandra's широкие ряды.

Однако cqlsh раскрывает их в виде рядов, чтобы облегчить жизнь.

Мой вопрос: почему count(*) не возвращает точный номер, и, кроме того, почему это число действительно очень близко к 1/3 моего ожидаемого числа?

ответ

2

Есть хороший шанс, что вы случайно поднялись. Это произойдет, если в CSV есть несколько строк, имеющих один и тот же первичный ключ.

+1

Вздох, это правильно. Я думал, что сделал свою должную умиротворенность, но, видимо, нет! – dacox

0

Кроме ответа @brandon (это верно в большинстве случаев), вы также можете установить верхний предел в своем запросе, например, выбрать count (*) из cf limit 1000000 или использовать nodetool cfstats для получения дополнительной информации.

Смежные вопросы