¿Es posible eliminar datos almacenados en S3 a través de una consulta de Athena? Tengo algunas filas que debo eliminar de un par de tablas (apuntan a cubos separados en S3).
No pude encontrar una manera de hacerlo en la Guía del usuario de Athena: https://docs.aws.amazon.com/athena/latest/ug/athena-ug.pdf y DELETE FROM no es compatible, pero Me pregunto si hay una manera más fácil que tratar de encontrar los archivos en S3 y eliminarlos.
Puede aprovechar Athena para encontrar todos los archivos que desea eliminar y luego eliminarlos por separado. Hay una variable especial "$ruta".
Select "$path" from <table> where <condition to get row of files to delete>Para automatizar esto, puede tener un iterador en los resultados de Athena y luego obtener el nombre del archivo y eliminarlos de S3.
También me gustaría agregar que después de encontrar los archivos para actualizar, puede filtrar las filas que desea eliminar y crear nuevos archivos usando CTAS: https://docs.aws.amazon.com/athena/latest/ug/ ctas.html
Posteriormente, puede reemplazar los archivos antiguos con los nuevos creados por CTAS. Creo que es la forma más sencilla de hacerlo.
Use AWS Glue para eso. Cargue sus datos, elimine lo que necesita eliminar, guarde los datos nuevamente.
Ahora también puede eliminar archivos de s3 y fusionar datos: https://aws.amazon.com/about-aws/whats-new/2020/01/aws-glue-adds-new-transforms-apache-spark-applications- conjuntos de datos-amazon-s3/