Есть две таблицы, как показано ниже:
CREATE TABLE model_vals (
model_id int,
data_item_code text,
date date,
data_item text,
pre_cal1 text,
pre_cal2 text,
pre_cal3 text,
pre_cal4 text,
pre_cal5 text,
pre_cal6 text,
PRIMARY KEY (( model_id, data_item ), date)
) WITH CLUSTERING ORDER BY ( date DESC )
CREATE TABLE prapre_calulated_vals (
id int,
precal_code text,
date date,
precal_item text,
pre_cal1 text,
pre_cal2 text,
pre_cal3 text,
pre_cal4 text,
pre_cal5 text,
pre_cal6 text,
PRIMARY KEY (( id, precal_item ), date)
) WITH CLUSTERING ORDER BY ( date DESC )
После обработки входных данных от Kafka с использованием spark-sql данные результата вставляются в первую (model_vals) C * таблицу. Которые также служат конечным точкам некоторых веб-сервисов.
Другой бизнес-логике нужны данные сверху первой (model_vals) C * таблицы, обработайте ее, заполнив повторы в второй (prapre_calulated_vals) C * таблице.
Для конечной точки веб-службы конечный пользователь может передать требование где и получить данные из первой таблицы (model_vals) C *.
Но для дальнейшей обработки мне нужно прочитать всю первую (model_vals) C * таблицу,
обработать данные, выполнить другой набор вычислений и заполнить вторую (prapre_calulated_vals) C * таблицу.
Первая (model_vals) C * таблица имеет миллион записей, поэтому мы не можем загрузить всю таблицу за один раз для обработки ..
Как справиться с этим сценарием в C *? Какие альтернативы у меня есть, чтобы справиться с этой ситуацией?