Así que tengo algunos datos históricos sobre S3 en formato .csv/.parquet. Todos los días tengo mi trabajo por lotes en ejecución, lo que me da 2 archivos que tienen la lista de datos que deben eliminarse de la instantánea histórica y los nuevos registros que deben insertarse en la instantánea histórica. No puedo ejecutar consultas de inserción/eliminación en athena. ¿Cuáles son las opciones (rentables y administradas por aws) que tengo para ejecutar mi problema?
Los objetos en Amazon S3 son inmutables . Esto significa que se reemplazarán, pero no se podrán editar.
Amazon Athena, Amazon Redshift Spectrum y Hive/Hadoop pueden consultar los datos almacenados en Amazon S3. Por lo general, buscan en una ruta proporcionada y cargan todos los archivos en esa ruta, incluidos los subdirectorios.
Para agregar datos a tales almacenes de datos, simplemente cargue un objeto adicional en la ruta dada .
Para eliminar todos los datos de un objeto, elimine el objeto .
Sin embargo, si desea eliminar datos dentro de un objeto, deberá reemplazar el objeto con un nuevo objeto que tenga esas filas eliminadas . Esto debe hacerse fuera de S3 . Amazon S3 no puede editar el contenido de un objeto.
Data Bricks tiene un producto llamado Delta Lake que puede agregar una capa adicional entre las herramientas de consultas y Amazon S3:
Delta Lake es una capa de almacenamiento de código abierto que brinda confiabilidad a los lagos de datos. Delta Lake proporciona transacciones ACID, manejo escalable de metadatos y unifica la transmisión y el procesamiento de datos por lotes. Delta Lake se ejecuta sobre su lago de datos existente y es totalmente compatible con las API de Apache Spark.
Delta Lake admite la eliminación de datos de una tabla porque se encuentra "frente a" Amazon S3.