Actualmente tenemos una copia de seguridad manual automatizada de los datos de corrimiento al rojo cada 1 hora. Suponiendo que un clúster se cae y los datos se restauran desde una instantánea, también quiero restaurar los datos que no están presentes en la instantánea.
PD: los datos completos están presentes en s3 antes de pasar al corrimiento al rojo.
¿Cómo puedo abordar este problema? De modo que obtenga los datos restantes de mi s3 para redshift después de la restauración de la instantánea.
Necesitaría tener algún indicador tanto en Redshift como en S3 para saber qué datos se cargan.
Por ejemplo, si sus datos en S3 están particionados por Año, Mes, Día y Hora así:
s3://my_bucket/my_prefix/year=2017/month=3/day=11/hour=10/my_file_parts.pt001.gz
Luego, desea tener columnas de año, mes, día y hora en sus tablas Redshift para que pueda encontrar la partición máxima que se cargó.
SELECT MAX(year||month||day||hour) FROM my_table
Luego puede volver a cargar cualquier partición que no esté presente actualmente en Redshift.