Soy nuevo en AWS Glue y tengo dificultades para comprender completamente los documentos de AWS, pero tengo problemas con el siguiente caso de uso:
Tenemos un cubo s3 con varios archivos Avro. Hemos decidido usar Avro debido a que tenemos un amplio soporte para cambios de esquema de datos con el tiempo, lo que permite aplicar nuevos campos a datos antiguos sin problemas.
Con AWS Glue, entiendo que un rastreador crea una nueva tabla cada vez que hay un cambio de esquema. Cuando nuestro esquema ha cambiado, esto ha provocado que el rastreador cree una serie de tablas nuevas, como se esperaba, pero no exactamente como deseamos...
En última instancia, nos gustaría que el rastreador detecte el esquema más reciente y aplique este esquema a todos los datos que estamos rastreando en el depósito s3, generando solo una tabla. Habíamos asumido (quizás incorrectamente) que al usar Avro, esto no sería un problema, ya que el rastreador podría aplicar nuevos campos de esquema con un valor predeterminado o nulo determinado a datos más antiguos (el beneficio de usar Avro), y solo generar una tabla que luego podríamos consultar usando AWS Athena.
¿Hay alguna forma en AWS Glue de usar un esquema dado para todos los datos en el depósito s3, lo que nos permite aprovechar el beneficio de Avro de la evolución del esquema, de modo que todos los datos se muestren en una tabla?
No he trabajado específicamente con archivos Avro, pero AWS Glue le permite configurar el rastreador de varias maneras.
Si crea un nuevo rastreador, se le solicitarán algunas opciones en la sección "Configurar la salida del rastreador" .
Según su situación, creo que deberá marcar la casilla que dice Update all new and existing partitions with metadata from the table.
Así es como se ve ese submenú.