триггер кассандры на [копия из MAXBATCHSIZE] - PullRequest
0 голосов
/ 05 сентября 2018

Когда я пытаюсь запустить следующий CQL, я обнаружил, что триггер canssandra запускается не одной записью, а одним пакетом.

COPY XXX_Table FROM 'xxxx.csv' WITH MAXBATCHSIZE=10

например, у меня есть 2000 тысяч записей csv-файла, после запуска вышеупомянутого CQL в cassandra есть 2000 тысяч записей, но триггер запускается только 200 тысяч раз. почему?

1 Ответ

0 голосов
/ 05 сентября 2018

потому что ваши данные в CSV-файле имеют один и тот же ключ раздела.

При импорте данных родительский процесс считывает из фрагментов входного файла (-ов) строки CHUNKSIZE и отправляет каждый блок в рабочий процесс. Каждый рабочий процесс затем анализирует блок для строк с общими ключами разделения. Если найдено хотя бы 2 строки с одинаковым ключом раздела, они объединяются в пакеты и отправляются в реплику, которая владеет разделом. Вы можете контролировать минимальное количество строк с помощью новой опции MINBATCHSIZE, но рекомендуется оставить ее равной 2. Для строк, которые не имеют общего ключа раздела, они объединяются с другими строками, ключ раздела которых принадлежит общему реплики. Эти строки затем разделяются на пакеты размером MAXBATCHSIZE, в настоящее время 20 строк. Эти пакеты отправляются в реплики, где расположены разделы. Партии в обоих случаях имеют тип UNLOGGED.

основано на: ссылка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...