es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo hacer que el rastreador de AWS reconozca la nueva estructura de partición en S3

Tengo la siguiente estructura en s3:
s3://landing-zone/api/report/task=log-results/year=2022/month=1/day=1/hour=0/minute=18/file.csv

Quiero almacenar todos los nuevos archivos solo hasta la hora, como:
s3://landing-zone/api/report/task=log-results/year=2022/month=1/day=1/hour=0/file.csv

Intenté agregar los nuevos archivos solo hasta la carpeta de la hora, pero el rastreador de AWS no puede obtener estos nuevos archivos disponibles para Athena.
¿Cuál es la mejor manera de hacer que funcione?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para que los nuevos archivos estén disponibles en Athena, es necesario actualizar la partición en la tabla de Athena. Puedes seguir los pasos a continuación:

    1. Crea una nueva carpeta solo hasta la carpeta de la hora: s3://landing-zone/api/report/task=log-results/year=2022/month=1/day=1/hour=0
    2. Copia todos los archivos hasta la carpeta de la hora a la nueva carpeta.
    3. Elimina la carpeta de los minutos: s3://landing-zone/api/report/task=log-results/year=2022/month=1/day=1/hour=0/minute=18
    4. Actualiza la partición en la tabla de Athena para incluir la nueva carpeta:

    ALTER TABLE table_name ADD PARTITION (task='log-results', year='2022', month='1', day='1', hour='0') LOCATION 's3://landing-zone/api/report/task=log-results/year=2022/month=1/day=1/hour=0';

    Una vez que actualices la partición, la nueva carpeta y los archivos deberían estar disponibles para las consultas de Athena. Es posible que necesites actualizar los metadatos de la tabla para registrar los cambios.

Comments are closed.