Терминология Cassandra делает различие между разделами и строками. Результат запроса показывает, что в ключе секции ds10128832 содержится 10 000 строк.
На самом деле, как указал catpaws, ограничение по умолчанию составляет 10000, поэтому, вероятно, у вас больше строк с этим ключом раздела. Чтобы подсчитать остальные, вам нужно указать более высокое предложение LIMIT, например:
cqlsh:info> SELECT count(*) FROM info.customerinfo WHERE KEY = 'ds10128832' LIMIT 100000;
Возможно, вам придется увеличить число лимита вверх, если вы обнаружите, что продолжаете достигать предела во время запроса.
В своем вопросе вы упомянули о подсчете СТОЛБЦОВ, а я ответил о СТРОКАХ. Надеюсь, я не ошибаюсь в ваших намерениях. Внутри Cassandra хранит «строки» на основе ваших ключей сортировки в виде столбцов (фактически наборов столбцов), о чем, как я полагаю, вы говорите. Жаргон в данном случае важен. catpaws упомянул, что существует ограничение в 2 миллиарда столбцов, включая все подстолбцы, основанные на ключах сортировки и строках, которые будут способствовать ограничению. Каждая из ваших строк будет содержать количество фактических (внутренних) столбцов, равное количеству значений в вашей схеме, которые не являются первичными ключами.
Например, если ваша таблица
CREATE TABLE info.customerinfo (текст ключа, текст учетной записи, текст электронной почты, текст имени экрана, PRIMARY KEY (ключ, учетная запись));
Тогда приведенный выше подсчет будет подсчитывать количество строк «учетной записи» в ключе раздела «ds10128832». Каждая комбинация (ключ, учетная запись) будет уникальной логической строкой, которая (внутри) будет состоять из двух столбцов: один для электронной почты, один для псевдонима. Каждый «ключ» с информацией о клиенте может гипотетически иметь 1 млрд таких учетных записей, прежде чем будет достигнуто ограничение в 2 млрд в столбцах, наложенное Cassandra.
РЕДАКТИРОВАТЬ: превышение предела вызовет исключение.
person
mildewey
schedule
13.11.2014