Tengo una tabla en Cassandra que tiene casi 80 million+ de registros (puede ser más que eso). He actualizado el schama que agrega una nueva columna en la tabla. Ahora necesito actualizar los valores de la columna. Escribí un script de migración para hacer eso usando cassandra-driver . Intenté el procesamiento por batching , el token , pero los datos son tan grandes que tardan más de 3 horas y aún no se actualizan los registros (el proceso finaliza después de 2 o 3 horas). ¿Cuál es la mejor manera de manejar este tipo de migración? ¿Hay alguna otra manera de lograr esto?
Por lo general, para tales cosas es más fácil usar Spark (aunque no estoy seguro de si funciona con Amazon Keyspaces). Es bastante difícil hacer un escaneo de rango correctamente: necesita manejar casos extremos, etc. (Tengo un ejemplo para el controlador Java que usa el mismo algoritmo que Spark Cassandra Connector y DSBulk ).
Puede usar Python con Spark y Cassandra Connector para actualizar sus datos; la complejidad de la actualización dependerá de su algoritmo.
Otro enfoque es poner lógica en su aplicación: si recibe un null de Cassandra para una columna dada, puede devolver el valor calculado.