У нас есть один узел Cassandra Cluster (Apache) с 2 виртуальными ЦП и около 16 ГБ ОЗУ на AWS. У нас есть около 28 ГБ данных, загруженных в Cassandra.
Теперь Cassandra отлично работает для выбора и группировки по запросам с использованием первичных ключей, однако при использовании пользовательских функций для использования агрегатных функций с непервичным ключом - это дает тайм-аут.
Чтобы уточнить - у нас есть раздел на год, месяц и дату для данных за 3 года. Теперь, например, если есть два столбца — Bill_ID и Bill_Amount, мы хотим получить сумму Bill_Amount по Bill_ID с использованием UDF.
Здесь что-то запутано, поскольку я считаю, что если в информации говорится, что получен 1 ответ, почему он должен выдавать сообщение о тайм-ауте, если он его получил? Почему мы получаем тайм-аут, и это тоже только при использовании пользовательских функций?
ReadTimeout: Error from server: code=1200 [Coordinator node timed out waiting for replica nodes' responses] message="Operation timed out - received only 1 responses." info={'received_responses': 1, 'required_responses': 1, 'consistency': 'ONE'}
Мы увеличили время ожидания чтения в файле yaml до 10 минут.
Изменить — добавление снимка экрана запроса. Результаты отображаются перед установкой --request-timeout и публикацией с использованием UDF. Таблица содержит 150 миллионов строк с более чем 1095 разделами только для данных за 3 года, где первичными ключами являются год, день и месяц.