Spark является наиболее типичным для выполнения именно этого (как вы говорите).Он делает это эффективно и часто используется довольно надежно.Cassandra на самом деле не предназначена для рабочих нагрузок OLAP, но такие вещи, как искровой соединитель, помогают сократить разрыв.DataStax Enterprise может иметь еще несколько доступных вам опций, но я не уверен, что их текущие предложения.
Вы все еще можете просто запросить и просмотреть весь набор данных с помощью обычных запросов CQL, но это не так быстро.Вы даже можете использовать ALLOW FILTERING, просто будьте осторожны, так как это очень дорого и может повлиять на ваш кластер (создание отдельного постоянного тока для рабочей нагрузки и использование запросов LOCOL_CL против него помогает).В этом сценарии вы, вероятно, также добавите < token()
и > token()
к предложению where, чтобы разделить запрос и предотвратить слишком большую работу с одним координатором.Настоятельно рекомендуется организовать ваши данные таким образом, чтобы этот запрос был более эффективным (т. Е. Если вы делаете временные интервалы, поместите вещи в раздел с указанием времени и кластеризуйте ключевые timeuuids, чтобы его последовательное чтение для каждой части времени).
Звучит странно, но дамп CSV из cqlsh на самом деле быстрый и может работать для вас, если ваш набор данных достаточно мал.
Я бы не рекомендовал обращаться к sstables напрямую, если вы не знакомы с внутренними компонентами и не используете hadoop илиискры.