Migración de trabajos de AWS Glue para Spark a la versión 4.0 de AWS Glue - AWS Glue

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Migración de trabajos de AWS Glue para Spark a la versión 4.0 de AWS Glue

En este tema se describen los cambios entre las versiones 0.9, 1.0, 2.0 y 3.0 de AWS Glue para permitirle migrar sus aplicaciones de Spark y trabajos de ETL a AWS Glue 4.0. También se describen las características de la versión 4.0 de AWS Glue y las ventajas de usarla.

Para usar esta función con sus trabajos de ETL de AWS Glue, elija 4.0 para la Glue version cuando cree sus trabajos.

Características nuevas admitidas

En esta sección se describen las nuevas características y ventajas de la versión 4.0 de AWS Glue.

  • Se basa en Apache Spark 3.3.0, pero incluye optimizaciones en AWS Glue y Amazon EMR, tales como ejecuciones de consultas adaptativas, lectores vectorizados y combinación de particiones y mezclas aleatorias optimizadas.

  • Controladores JDBC actualizados para todos los orígenes nativos de AWS Glue, que incluyen MySQL, Microsoft SQL Server, Oracle, PostgreSQL, MongoDB, y bibliotecas y dependencias de Spark actualizadas introducidas por Spark 3.3.0.

  • Actualización con un nuevo conector de Amazon Redshift y un controlador JDBC.

  • Acceso optimizado a Amazon S3 con el sistema de archivos EMR (EMRFS) actualizado y confirmadores de salida optimizados de Amazon S3 habilitados de forma predeterminada.

  • Acceso optimizado al Catálogo de datos con índices de partición, predicados de inserción, lista de particiones y un cliente de metaalmacén de Hive actualizado.

  • Integración con Lake Formation para tablas de catálogo gobernadas con filtrado a nivel de celda y transacciones de lago de datos.

  • Reducción de la latencia de inicio para mejorar los tiempos generales de finalización del trabajo y la interactividad.

  • Los trabajos de Spark se facturan en incrementos de 1 segundo con una duración mínima de facturación 10 veces menor, de un mínimo de 10 minutos a un mínimo de 1 minuto.

  • Compatibilidad nativa con marcos de lagos de datos de código abierto con Apache Hudi, Delta Lake y Apache Iceberg.

  • Compatibilidad nativa con el complemento Cloud Shuffle Storage basado en Amazon S3 (un complemento de Apache Spark) a fin de usar Amazon S3 para la mezcla aleatoria y la capacidad de almacenamiento elástica.

Mejoras principales de Spark 3.1.1 a Spark 3.3.0

Tenga en cuenta las siguientes mejoras:

  • Filtrado en tiempo de ejecución de fila (SPARK-32268).

  • Mejoras de ANSI (SPARK-38860).

  • Mejoras de los mensajes de error (SPARK-38781).

  • Compatibilidad de tipos complejos con el lector vectorizado de Parquet (SPARK-34863).

  • Compatibilidad de metadatos de archivos ocultos con Spark SQL (SPARK-37273).

  • Se proporciona un generador de perfiles para las UDF de Python o Pandas (SPARK-37443).

  • Se introduce Trigger.AvailableNow para ejecutar consultas de transmisión como Trigger.Once en varios lotes (SPARK-36533).

  • Capacidades de inserción de Datasource V2 más completas (SPARK-38788).

  • Migración de log4j 1 a log4j 2 (SPARK-37814).

Otros cambios notables

Tenga en cuenta los siguientes cambios:

  • Cambios bruscos

    • Se eliminan las referencias a la compatibilidad con Python 3.6 en los documentos y documentación de Python (SPARK-36977).

    • Se elimina el truco de tupla con nombre al reemplazar el objeto pickle integrado por cloudpickle (SPARK-32079).

    • Se incrementa la versión mínima de Pandas a la 1.0.5 (SPARK-37465).

Acciones que migrar a AWS Glue 4.0

Para los trabajos existentes, cambie la Glue version de la versión anterior a Glue 4.0 en la configuración del trabajo.

  • En AWS Glue Studio, elija Glue 4.0 - Supports Spark 3.3, Scala 2, Python 3 en Glue version.

  • En la API, elija 4.0 en el parámetro GlueVersion de la operación de la API UpdateJob.

Para nuevos trabajos, elija Glue 4.0 cuando cree un trabajo.

  • En la consola, elija Spark 3.3, Python 3 (Glue Version 4.0) or Spark 3.3, Scala 2 (Glue Version 3.0) en Glue version.

  • En AWS Glue Studio, elija Glue 4.0 - Supports Spark 3.3, Scala 2, Python 3 en Glue version.

  • En la API, elija 4.0 en el parámetro GlueVersion de la operación de la API CreateJob.

Para ver los registros de eventos de Spark de AWS Glue 4.0 procedentes de AWS Glue 2.0 o una versión anterior, lance un servidor de historial de Spark actualizado para AWS Glue 4.0 mediante AWS CloudFormation o Docker.

Lista de comprobación de migración

Revise esta lista de comprobación para la migración:

nota

En el caso de los elementos de la lista de comprobación relacionados con la versión 3.0 de AWS Glue, consulte Lista de comprobación de migración.

  • ¿Las bibliotecas externas de Python de su trabajo dependen de Python 2.7/3.6?

    • Actualice las bibliotecas dependientes de Python 2.7 o 3.6 a Python 3.10, ya que Spark 3.3.0 eliminó por completo la compatibilidad con Python 2.7 y 3.6.

Migración de AWS Glue 3.0 a AWS Glue 4.0

Tenga en cuenta los siguientes cambios al migrar:

  • Todos los parámetros de trabajo existentes y las principales características que existen en AWS Glue 3.0 existirán en AWS Glue 4.0.

  • AWS Glue 3.0 utiliza Spark 3.1.1 optimizado para Amazon EMR y AWS Glue 4.0 utiliza Spark 3.3.0 optimizado para Amazon EMR.

    Es posible que varios cambios de Spark por sí solos requieran la revisión de sus scripts para garantizar que no se haga referencia a las características eliminadas.

  • AWS Glue 4.0 también incluye una actualización de EMRFS y Hadoop. Para saber la versión específica, consulte Apéndice A: actualizaciones de dependencias importantes.

  • La versión de AWS SDK que se proporciona en los trabajos de ETL ahora se ha actualizado de la 1.11 a la 1.12.

  • Todos los trabajos de Python utilizarán la versión 3.10 de Python. Anteriormente, Python 3.7 se usaba en AWS Glue 3.0.

    Como resultado, se actualizan algunos pymodules que AWS Glue incluye listos para usar.

  • Log4j se ha actualizado a Log4j2.

    • Para obtener información sobre la ruta de migración de Log4j2, consulte la documentación de Log4j.

    • En su lugar, debe cambiar el nombre de cualquier archivo log4j.properties personalizado a un archivo log4j2.properties, con las propiedades de log4j2 adecuadas.

  • Para migrar determinados conectores, consulte Migración de conectores y controladores JDBC para AWS Glue 4.0.

  • Se actualizó el SDK de cifrado de AWS de 1.x a 2.x. Se ven afectados los trabajos de AWS Glue que utilizan configuraciones de seguridad de AWS Glue y los trabajos que dependen de la dependencia del SDK de cifrado de AWS proporcionada en tiempo de ejecución. Consulte las instrucciones para la migración de trabajos de AWS Glue.

    Puede actualizar de forma segura un trabajo de AWS Glue 2.0 o 3.0 a un trabajo de AWS Glue 4.0 porque AWS Glue 2.0 o 3.0 ya contiene la versión puente del SDK de cifrado de AWS.

Consulte la documentación de migración de Spark:

Migración de AWS Glue 2.0 a AWS Glue 4.0

Tenga en cuenta los siguientes cambios al migrar:

nota

Para conocer los pasos de migración relacionados con AWS Glue 3.0, consulte Migración de AWS Glue 3.0 a AWS Glue 4.0.

  • Todos los parámetros de trabajo existentes y las principales características que existen en AWS Glue 2.0 existirán en AWS Glue 4.0.

  • El confirmador optimizado para S3 de EMRFS para la escritura de datos de Parquet en Amazon S3 está habilitado de forma predeterminada a partir de AWS Glue 3.0. Sin embargo, todavía puede desactivarlo mediante la configuración de --enable-s3-parquet-optimized-committer a false.

  • AWS Glue 2.0 utiliza la versión 2.4 de Spark de código abierto y AWS Glue 4.0, la versión 3.3.0 optimizada para Amazon EMR.

    • Varios cambios de Spark por sí solos pueden requerir la revisión de sus scripts para garantizar que no se haga referencia a las características eliminadas.

    • Por ejemplo, Spark 3.3.0 no permite las UDF sin tipo Scala, pero Spark 2.4 sí.

  • La versión de AWS SDK que se proporciona en los trabajos de ETL ahora se ha actualizado de la 1.11 a la 1.12.

  • AWS Glue 4.0 también incluye una actualización de EMRFS, controladores JDBC actualizados e inclusiones de optimizaciones adicionales en Spark proporcionadas por AWS Glue.

  • Scala se actualiza a la versión 2.12 desde la 2.11, y Scala 2.12 no es compatible con Scala 2.11.

  • Python 3.10 es la versión predeterminada utilizada para los scripts de Python, ya que AWS Glue 2.0 solo utilizaba Python 3.7 y 2.7.

    • Python 2.7 no es compatible con Spark 3.3.0. Cualquier trabajo que solicite Python 2 en la configuración del trabajo producirá un error con IllegalArgumentException.

    • Hay disponible un nuevo mecanismo para instalar módulos adicionales de Python a partir de AWS Glue 2.0.

  • Varias actualizaciones de dependencias, destacadas en Apéndice A: actualizaciones de dependencias importantes.

  • Cualquier archivo JAR adicional suministrado en trabajos existentes de AWS Glue 2.0 puede traer dependencias conflictivas, ya que hubo actualizaciones en varias dependencias en la versión 4.0 con respecto a la 2.0. Puede evitar conflictos de classpath en AWS Glue 4.0 con el parámetro de trabajo --user-jars-first de AWS Glue.

  • AWS Glue 4.0 usa Spark 3.3. A partir de Spark 3.1, se produjo un cambio en el comportamiento de cargar/guardar marcas de tiempo desde archivos de parquet y hacia estos. Para obtener más información, consulte Actualización de Spark SQL 3.0 a 3.1

    Recomendamos establecer los siguientes parámetros al leer y escribir datos de parquet que contengan columnas de marca temporal. La configuración de estos parámetros puede resolver el problema de incompatibilidad del calendario que se produce durante la actualización de Spark 2 a Spark 3, tanto para el marco dinámico de AWS Glue como para el marco de datos de Spark. Utilice la opción CORRECTED para leer el valor de fecha y hora tal como está; y la opción LEGACY para rebasar los valores de fecha y hora con respecto a la diferencia de calendario durante la lectura.

    - Key: --conf - Value: spark.sql.legacy.parquet.int96RebaseModeInRead=[CORRECTED|LEGACY] --conf spark.sql.legacy.parquet.int96RebaseModeInWrite=[CORRECTED|LEGACY] --conf spark.sql.legacy.parquet.datetimeRebaseModeInRead=[CORRECTED|LEGACY]
  • Para migrar determinados conectores, consulte Migración de conectores y controladores JDBC para AWS Glue 4.0.

  • Se actualizó el SDK de cifrado de AWS de 1.x a 2.x. Se ven afectados los trabajos de AWS Glue que utilizan configuraciones de seguridad de AWS Glue y los trabajos que dependen de la dependencia del SDK de cifrado de AWS proporcionada en tiempo de ejecución. Consulte estas instrucciones para la migración de trabajos de AWS Glue:

    • Puede actualizar de forma segura un trabajo de AWS Glue 2.0 a un trabajo de AWS Glue 4.0 porque AWS Glue 2.0 ya contiene la versión puente del SDK de cifrado de AWS.

Consulte la documentación de migración de Spark:

Migración de AWS Glue 1.0 a AWS Glue 4.0

Tenga en cuenta los siguientes cambios al migrar:

  • AWS Glue 1.0 utiliza la versión 2.4 de Spark de código abierto y AWS Glue 4.0, la versión 3.3.0 optimizada para Amazon EMR.

    • Varios cambios de Spark por sí solos pueden requerir la revisión de sus scripts para garantizar que no se haga referencia a las características eliminadas.

    • Por ejemplo, Spark 3.3.0 no permite las UDF sin tipo Scala, pero Spark 2.4 sí.

  • Todos los trabajos de AWS Glue 4.0 se ejecutarán con tiempos de inicio significativamente mejorados. Los trabajos de Spark se facturarán en incrementos de 1 segundo con una duración mínima de facturación 10 veces menor, ya que la latencia de inicio pasará de 10 minutos máximo a 1 minuto máximo.

  • El comportamiento del registro cambió significativamente en AWS Glue 4.0; Spark 3.3.0 tiene un requisito mínimo de Log4j2.

  • Varias actualizaciones de dependencias, que se destacan en el apéndice.

  • Scala también se actualiza a la versión 2.12 desde la 2.11, y Scala 2.12 no es compatible con Scala 2.11.

  • Python 3.10 es también la versión predeterminada utilizada para los scripts de Python, ya que AWS Glue 0.9 solo utilizaba Python 2.

    Python 2.7 no es compatible con Spark 3.3.0. Cualquier trabajo que solicite Python 2 en la configuración del trabajo producirá un error con IllegalArgumentException.

  • Hay disponible un nuevo mecanismo para instalar módulos adicionales de Python mediante pip a partir de AWS Glue 2.0. Para obtener más información, consulte Instalación de módulos de Python adicionales con pip en AWS Glue 2.0+.

  • AWS Glue 4.0 no se ejecuta en Apache YARN, por lo que la configuración de YARN no se aplica.

  • AWS Glue 4.0 no tiene un Sistema de archivos distribuido de Hadoop (HDFS).

  • Cualquier archivo JAR adicional suministrado en trabajos existentes de AWS Glue 1.0 puede traer dependencias conflictivas, ya que hubo actualizaciones en varias dependencias en la versión 4.0 con respecto a la 1.0. Habilitamos AWS Glue 4.0 con el parámetro de trabajo de AWS Glue --user-jars-first de forma predeterminada para evitar este problema.

  • AWS Glue 4.0 admite el escalado automático. Por lo tanto, la métrica ExecutorAllocationManager estará disponible cuando se habilite el escalado automático.

  • Para trabajos de la versión 4.0 de AWS Glue, debe especificar el número de procesos de trabajo y el tipo de proceso de trabajo, pero no un valor de maxCapacity.

  • Los trabajos de AWS Glue 4.0 todavía no admiten transformaciones de machine learning.

  • Para migrar determinados conectores, consulte Migración de conectores y controladores JDBC para AWS Glue 4.0.

  • Se actualizó el SDK de cifrado de AWS de 1.x a 2.x. Se ven afectados los trabajos de AWS Glue que utilizan configuraciones de seguridad de AWS Glue y los trabajos que dependen de la dependencia del SDK de cifrado de AWS proporcionada en tiempo de ejecución. Consulte estas instrucciones para la migración de trabajos de AWS Glue.

    • No puede migrar ningún trabajo de AWS Glue 0.9 o 1.0 a un trabajo de AWS Glue 4.0 directamente. Esto se debe a que, al actualizar directamente a la versión 2.x o una posterior y habilitar todas las características nuevas de inmediato, el SDK de cifrado de AWS no podrá descifrar el texto cifrado en versiones anteriores del SDK de cifrado de AWS.

    • Para llevar a cabo la actualización de forma segura, primero le recomendamos que migre a un trabajo de AWS Glue 2.0 o 3.0 que contenga la versión puente del SDK de cifrado de AWS. Ejecute el trabajo una vez para utilizar la versión puente del SDK de cifrado de AWS.

    • Al finalizar, puede migrar de forma segura el trabajo de AWS Glue 2.0 o 3.0 a AWS Glue 4.0.

Consulte la documentación de migración de Spark:

Migración de AWS Glue 0.9 a AWS Glue 4.0

Tenga en cuenta los siguientes cambios al migrar:

  • AWS Glue 0.9 utiliza la versión 2.2.1 de Spark de código abierto y AWS Glue 4.0, la versión 3.3.0 optimizada para Amazon EMR.

    • Es posible que varios cambios de Spark por sí solos requieran la revisión de sus scripts para garantizar que no se haga referencia a las características eliminadas.

    • Por ejemplo, Spark 3.3.0 no permite las UDF sin tipo Scala, pero Spark 2.2 sí.

  • Todos los trabajos de AWS Glue 4.0 se ejecutarán con tiempos de inicio significativamente mejorados. Los trabajos de Spark se facturarán en incrementos de 1 segundo con una duración mínima de facturación 10 veces menor, porque la latencia de inicio pasará de un máximo de 10 minutos a un máximo de 1 minuto.

  • El comportamiento del registro cambió significativamente a partir de AWS Glue 4.0; Spark 3.3.0 tiene un requisito mínimo de Log4j2, como se menciona aquí (https://spark.apache.org/docs/latest/core-migration-guide.html#upgrading-from-core-32-to-33).

  • Varias actualizaciones de dependencias, que se destacan en el apéndice.

  • Scala también se actualiza a la versión 2.12 desde la 2.11, y Scala 2.12 no es compatible con Scala 2.11.

  • Python 3.10 es también la versión predeterminada utilizada para los scripts de Python, ya que AWS Glue 0.9 solo utilizaba Python 2.

    • Python 2.7 no es compatible con Spark 3.3.0. Cualquier trabajo que solicite Python 2 en la configuración del trabajo producirá un error con IllegalArgumentException.

    • Hay disponible un nuevo mecanismo para instalar módulos adicionales de Python mediante pip.

  • AWS Glue 4.0 no se ejecuta en Apache YARN, por lo que la configuración de YARN no se aplica.

  • AWS Glue 4.0 no tiene un Sistema de archivos distribuido de Hadoop (HDFS).

  • Cualquier archivo JAR adicional suministrado en trabajos existentes de AWS Glue 0.9 puede traer dependencias conflictivas, ya que hubo actualizaciones en varias dependencias en la versión 3.0 con respecto a la 0.9. Puede evitar conflictos de classpath en AWS Glue 3.0 con el parámetro de trabajo --user-jars-first de AWS Glue.

  • AWS Glue 4.0 admite el escalado automático. Por lo tanto, la métrica ExecutorAllocationManager estará disponible cuando se habilite el escalado automático.

  • Para trabajos de la versión 4.0 de AWS Glue, debe especificar el número de procesos de trabajo y el tipo de proceso de trabajo, pero no un valor de maxCapacity.

  • Los trabajos de AWS Glue 4.0 todavía no admiten transformaciones de machine learning.

  • Para migrar determinados conectores, consulte Migración de conectores y controladores JDBC para AWS Glue 4.0.

  • Se actualizó el SDK de cifrado de AWS de 1.x a 2.x. Se ven afectados los trabajos de AWS Glue que utilizan configuraciones de seguridad de AWS Glue y los trabajos que dependen de la dependencia del SDK de cifrado de AWS proporcionada en tiempo de ejecución. Consulte estas instrucciones para la migración de trabajos de AWS Glue.

    • No puede migrar ningún trabajo de AWS Glue 0.9 o 1.0 a un trabajo de AWS Glue 4.0 directamente. Esto se debe a que, al actualizar directamente a la versión 2.x o una posterior y habilitar todas las características nuevas de inmediato, el SDK de cifrado de AWS no podrá descifrar el texto cifrado en versiones anteriores del SDK de cifrado de AWS.

    • Para llevar a cabo la actualización de forma segura, primero le recomendamos que migre a un trabajo de AWS Glue 2.0 o 3.0 que contenga la versión puente del SDK de cifrado de AWS. Ejecute el trabajo una vez para utilizar la versión puente del SDK de cifrado de AWS.

    • Al finalizar, puede migrar de forma segura el trabajo de AWS Glue 2.0 o 3.0 a AWS Glue 4.0.

Consulte la documentación de migración de Spark:

Migración de conectores y controladores JDBC para AWS Glue 4.0

Para ver las versiones de los conectores de lago de datos y JDBC que se actualizaron, consulte:

Hudi

  • Mejoras de compatibilidad de Spark SQL:

    • A través del comando Call Procedure, se agrega compatibilidad para actualizar, degradar, arrancar, limpiar y reparar. La sintaxis Create/Drop/Show/Refresh Index es posible en Spark SQL.

    • Se cerró una laguna de rendimiento entre el uso mediante un DataSource de Spark en comparación con Spark SQL. En el pasado, las escrituras en orígenes de datos solían ser más rápidas que en SQL.

    • Todos los generadores de claves integrados implementan operaciones de API específicas de Spark de mayor rendimiento.

    • Se sustituyó la transformación de UDF en la operación masiva insert por transformaciones de RDD para reducir los costos de uso de SerDe.

    • Spark SQL con Hudi requiere que se especifique un campo primaryKey mediante tblproperites u opciones en la instrucción SQL. En el caso de las operaciones de actualización y eliminación, también se requiere el campo preCombineField.

  • Cualquier tabla de Hudi creada antes de la versión 0.10.0 sin un campo primaryKey tiene que volver a crearse con un campo primaryKey a partir de la versión 0.10.0.

PostgreSQL

  • Se corrigieron varias vulnerabilidades (CVE).

  • Java 8 es compatible de forma nativa.

  • Si el trabajo utiliza matrices de matrices, con la excepción de las matrices de bytes, dicho escenario se puede tratar como matrices multidimensionales.

MongoDB

  • El conector de MongoDB actual es compatible con la versión 3.1 o posteriores de Spark y con la versión 4.0 o posteriores de MongoDB.

  • Debido a la actualización del conector, se modificaron los nombres de algunas propiedades. Por ejemplo, el nombre de la propiedad de URI se cambió a connection.uri. Para obtener más información sobre las opciones actuales, consulte el blog sobre el conector de Spark de MongoDB.

  • El uso de la versión 4.0 de MongoDB alojada por Amazon DocumentDB presenta algunas diferencias funcionales. Para obtener más información, consulte estos temas:

  • La opción “partitioner” se restringe a ShardedPartitioner, PaginateIntoPartitionsPartitioner y SinglePartitionPartitioner. No puede usar los valores predeterminados SamplePartitioner y PaginateBySizePartitioner para Amazon DocumentDB porque el operador de etapas no admite la API de MongoDB. Para obtener más información, consulte Supported MongoDB APIs, Operations, and Data Types (API, operaciones y tipos de datos de MongoDB admitidos).

Delta Lake

  • Delta Lake ahora admite viajes en el tiempo en SQL para consultar datos antiguos con facilidad. Con esta actualización, los viajes en el tiempo ahora están disponibles tanto en Spark SQL como a través de la API de DataFrame. Se agregó compatibilidad con la versión actual de TIMESTAMP en SQL.

  • Spark 3.3 presenta Trigger.AvailableNow para ejecutar consultas de transmisión como equivalente a Trigger.Once para las consultas por lotes. Esta compatibilidad también está disponible cuando se utilizan tablas Delta como origen de transmisión.

  • Compatibilidad con SHOW COLUMNS para devolver la lista de columnas de una tabla.

  • Compatibilidad con DESCRIBE DETAIL en la API de DeltaTable de Python y Scala. Recupera información detallada sobre una tabla Delta mediante la API de DeltaTable o Spark SQL.

  • Compatibilidad para devolver métricas de operaciones de los comandos Delete, Merge y Update de SQL. Anteriormente, estos comandos de SQL devolvían un DataFrame vacío y ahora devuelven un DataFrame con métricas útiles sobre la operación hecha.

  • Optimice las mejoras de rendimiento:

    • Defina la opción de configuración spark.databricks.delta.optimize.repartition.enabled=true para usar repartition(1) en lugar de coalesce(1) en el comando Optimize para obtener un mejor rendimiento al compactar muchos archivos pequeños.

    • Rendimiento mejorado mediante el uso de un enfoque basado en colas para paralelizar los trabajos de compactación.

  • Otros cambios notables:

Apache Iceberg

  • Se agregaron varias mejoras de rendimiento para la planificación de análisis y las consultas de Spark.

  • Se agregó un cliente de catálogo REST común que usa confirmaciones basadas en cambios para resolver conflictos de confirmación en el lado del servicio.

  • Se admite la sintaxis AS OF para las consultas de viajes en el tiempo de SQL.

  • Se agregó compatibilidad de combinación en lectura para las consultas MERGE y UPDATE.

  • Se agregó compatibilidad para reescribir particiones con el orden Z.

  • Se agregaron una especificación y una implementación para Puffin, un formato para estadísticas y blobs de índice grandes, como bocetos de Theta o filtros de Bloom.

  • Se agregaron nuevas interfaces para consumir datos de forma incremental (análisis de registros de cambios y anexos).

  • Se agregó compatibilidad con operaciones masivas y lecturas por intervalos en las interfaces de FileIO.

  • Se agregaron más tablas de metadatos para mostrar los archivos eliminados en el árbol de metadatos.

  • El comportamiento de eliminación de tabla cambió. En Iceberg 0.13.1, la ejecución de DROP TABLE elimina la tabla del catálogo, así como su contenido. En Iceberg 1.0.0, DROP TABLE solo elimina la tabla del catálogo. Para eliminar el contenido de la tabla, utilice DROP TABLE PURGE.

  • Las lecturas vectorizadas de Parquet están habilitadas de forma predeterminada en Iceberg 1.0.0. Si desea deshabilitar las lecturas vectorizadas, establezca el valor de read.parquet.vectorization.enabled en false.

Oracle

Se hicieron pequeños cambios.

MySQL

Se hicieron pequeños cambios.

Amazon Redshift

AWS Glue 4.0 incluye un nuevo conector de Amazon Redshift con un nuevo controlador JDBC. Para obtener información sobre las mejoras y sobre cómo llevar a cabo la migración desde versiones anteriores de AWS Glue, consulte Conexiones Redshift.

Apéndice A: actualizaciones de dependencias importantes

Las siguientes son las actualizaciones de dependencias:

Dependencia Versión en AWS Glue 4.0 Versión en AWS Glue 3.0 Versión en AWS Glue 2.0 Versión en AWS Glue 1.0
Spark 3.3.0-amzn-1 3.1.1-amzn-0 2.4.3 2.4.3
Hadoop 3.3.3-amzn-0 3.2.1-amzn-3 2.8.5-amzn-5 2.8.5-amzn-1
Scala 2.12 2.12 2.11 2.11
Jackson 2.13.3 2.10.x 2.7.x 2.7.x
Hive 2.3.9-amzn-2 2.3.7-amzn-4 1.2 1.2
EMRFS 2.54.0 2.46.0 2.38.0 2.30.0
Json4s 3.7.0-M11 3.6.6 3.5.x 3.5.x
Arrow 7.0.0 2.0.0 0.10.0 0.10.0
Cliente del Catálogo de datos de AWS Glue 3.7.0 3.0.0 1.10.0 N/A
Python 3.10 3.7 2.7 y 3.6 2.7 y 3.6
Boto 1.26 1.18 1.12 N/A

Apéndice B: actualizaciones de controladores JDBC

Las siguientes son las actualizaciones de controladores JDBC:

Controlador Versión del controlador JDBC en las versiones de AWS Glue anteriores Versión del controlador JDBC en AWS Glue 3.0 Versión del controlador JDBC en AWS Glue 4.0
MySQL 5.1 8.0.23 8.0.23
Microsoft SQL Server 6.1.0 7.0.0 9.4.0
Oracle Database 11.2 21.1 21.7
PostgreSQL 42.1.0 42.2.18 42.3.6
MongoDB 2.0.0 4.0.0 4.7.2
Amazon Redshift

redshift-jdbc41-1.2.12.1017

redshift-jdbc41-1.2.12.1017

redshift-jdbc42-2.1.0.16

Apéndice C: actualizaciones del conector

A continuación se indican las actualizaciones del conector:

Controlador Versión del conector en AWS Glue 3.0 Versión del conector en AWS Glue 4.0
MongoDB 3.0.0 10.0.4
Hudi 0.10.1 0.12.1
Delta Lake 1.0.0 2.1.0
Iceberg 0.13.1 1.0.0
DynamoDB 1.11 1.12