Athrun Data Intelligence


Pegamento AWS es un servicio de integración de datos escalable y sin servidor que simplifica el descubrimiento, la preparación, el movimiento y la integración de datos de múltiples fuentes. AWS anunció recientemente Glue 5.1, una nueva traducción de AWS Glue que acelera las cargas de trabajo de integración de datos en AWS. AWS Glue 5.1 actualiza los motores Spark para Apache chispa 3.5.6que le ofrece una traducción más flamante de Spark anejo con las bibliotecas dependientes más nuevas para que pueda desarrollar, ejecutar y resquilar sus cargas de trabajo de integración de datos y obtener información más rápidamente.

En esta publicación, describimos las novedades de AWS Glue 5.1, los aspectos más destacados de Spark y las bibliotecas relacionadas, y cómo comenzar con AWS Glue 5.1.

Novedades de AWS Glue 5.1

Las siguientes actualizaciones están en AWS Glue 5.1:

Actualizaciones de biblioteca y tiempo de ejecución

AWS Glue 5.1 actualiza el tiempo de ejecución a Spark 3.5.6, Python 3.11 y Scala 2.12.18 con nuevas mejoras con respecto a la traducción de código franco. AWS Glue 5.1 además actualiza la compatibilidad con bibliotecas de formatos de tablas abiertas a Apache Hudi 1.0.2, Apache Iceberg 1.10.0 y Delta Lake 3.3.2 para que pueda resolver casos de uso avanzados relacionados con el rendimiento, el costo, la gobernanza y la privacidad en sus lagos de datos.

Soporte para nuevas funciones de Apache Iceberg

AWS Glue 5.1 agrega compatibilidad con Apache Iceberg Materialized View y el formato Apache Iceberg traducción 3.0. AWS Glue 5.1 además agrega soporte para escritura de datos en tablas Iceberg y Hive con control de comunicación detallado nativo de Spark con Formación del laguna AWS.

Apache Iceberg Materialized View es especialmente útil en los casos en los que necesita acelerar consultas ejecutadas con frecuencia en grandes conjuntos de datos mediante el cálculo previo de agregaciones costosas. Si desea obtener más información sobre las vistas materializadas de Apache Iceberg, consulte Presentación de las vistas materializadas de Apache Iceberg en AWS Glue Data Catalog.

El formato Apache Iceberg traducción 3.0 es la última traducción del formato Iceberg definida en Especificaciones de la mesa Iceberg. Se admiten las siguientes funciones:

Crear una tabla de formato Iceberg V3

Para crear una tabla de formato Iceberg V3, especifique el format-version a 3 al crear la tabla. El venidero es un script de PySpark de muestra: (reemplace amzn-s3-demo-bucket con el nombre de su depósito S3):

from pyspark.sql import SparkSession

s3bucket = "amzn-s3-demo-bucket" 
database = "glue51_blog_demo" 
table_name = "iceberg_v3_table_demo"

spark = (
    SparkSession.builder
    .config("spark.sql.extensions", "org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions")
    .config("spark.sql.defaultCatalog", "glue_catalog")
    .config("spark.sql.catalog.glue_catalog", "org.apache.iceberg.spark.SparkCatalog")
    .config("spark.sql.catalog.glue_catalog.type", "glue")
    .config("spark.sql.catalog.glue_catalog.warehouse", f"s3://{s3bucket}/{database}/{table_name}/")
    .getOrCreate()
)

spark.sql(f"CREATE DATABASE IF NOT EXISTS {database}")

# Create Iceberg table with V3 format-version
spark.sql(f"""
    CREATE TABLE IF NOT EXISTS {database}.{table_name} (
        id int,
        name string,
        age int,
        created_at timestamp
    ) USING iceberg
    TBLPROPERTIES (
        'format-version'='3',
        'write.delete.mode'='merge-on-read'
    )
""")

Para portar del formato V2 a V3, utilice ALTER TABLE ... SET TBLPROPERTIES para refrescar la traducción del formato. El venidero es un script de PySpark de muestra:

spark.sql(f"ALTER TABLE {database}.{table_name} SET TBLPROPERTIES ('format-version'='3')")

No puede retroceder de V3 a V2, por lo que debe tener cuidado de comprobar que todos sus clientes Iceberg admitan la traducción del formato Iceberg V3. Una vez actualizadas, las versiones anteriores no pueden observar correctamente las versiones de formato más nuevas, ya que las versiones de formato de tabla Iceberg no son compatibles con versiones posteriores.

Crear una tabla con el seguimiento de pelaje de filas apoderado

Para crear una tabla con el seguimiento de pelaje de filas apoderado, establezca la propiedad de la tabla row-lineage a true. El venidero es un script de PySpark de muestra:

# Create Iceberg table with row-lineage-tracking
spark.sql(f"""
    CREATE TABLE IF NOT EXISTS {database}.{table_name} (
        id int,
        name string,
        age int,
        created_at timestamp
    ) USING iceberg
    TBLPROPERTIES (
        'format-version'='3',
        'row-lineage'='true',
        'write.delete.mode'='merge-on-read'
    )
""")

En las tablas con el seguimiento de pelaje de filas apoderado, los ID de fila se administran en el nivel de metadatos para realizar un seguimiento de las modificaciones de las filas a lo extenso del tiempo y realizar auditorías.

Soporte extendido para permisos de AWS Lake Formation

El control de comunicación detallado con Lake Formation se ha admitido a través de Spark DataFrames nativos y Spark SQL en Glue 5.0 para operaciones de recital. Glue 5.1 amplía el control de comunicación detallado para operaciones de escritura.

El control de comunicación completo a la tabla (FTA) en Apache Spark se introdujo para las tablas Apache Hive y Iceberg en Glue 5.0. Glue 5.1 amplía el soporte FTA para tablas Apache Hudi y tablas Delta Lake.

S3A por defecto

AWS Glue 5.1 utiliza S3A como conector S3 predeterminado. Este cambio se alinea con la flamante EMR de Amazon acogida de S3A como conector predeterminado y brinda rendimiento mejorado y características avanzadas a las cargas de trabajo de Glue. Para obtener más detalles sobre las capacidades y optimizaciones del conector S3A, consulte Optimice el tiempo de ejecución de Amazon EMR para Apache Spark con EMR S3A.

Tenga en cuenta que al portar de Glue 5.0 a Glue 5.1, si tanto spark.hadoop.fs.s3a.endpoint como spark.hadoop.fs.s3a.endpoint.region no están configurados, la región predeterminada utilizada por S3A es us-east-2. Esto puede causar problemas. Para mitigar los problemas causados ​​por este cambio, establezca la configuración de Spark spark.hadoop.fs.s3a.endpoint.region cuando utilice el sistema de archivos S3A en AWS Glue 5.1.

Actualizaciones de biblioteca dependientes

AWS Glue 5.1 actualiza el tiempo de ejecución a Spark 3.5.6, Python 3.11 y Scala 2.12.18 con bibliotecas dependientes actualizadas.

La venidero tabla enumera las actualizaciones de dependencia:

Dependencia Lectura en AWS Glue 5.0 Lectura en AWS Glue 5.1
Chispa 3.5.4 3.5.6
Hadoop 3.4.1 3.4.1
escalera 2.12.18 2.12.18
Colmena 2.3.9 2.3.9
EMRFS 2.69.0 2.73.0
Flecha 12.0.1 12.0.1
Iceberg 1.7.1 1.10.0
Hudí 0.15.0 1.0.2
laguna delta 3.3.0 3.3.2
Java 17 17
Pitón 3.11 3.11.14
boto3 1.34.131 1.40.61
SDK de AWS para Java 2.29.52 2.35.5
Cliente del catálogo de datos de AWS Glue 4.5.0 4.9.0
Conector EMR DynamoDB 5.6.0 5.7.0

Las siguientes son actualizaciones del conector de colchoneta de datos (compensador JDBC):

Conductor Lectura del conector en AWS Glue 5.0 Lectura del conector en AWS Glue 5.1
mysql 8.0.33 8.0.33
Servidor Microsoft SQL 10.2.0 10.2.0
Bases de datos Oracle 23.3.0.23.09 23.3.0.23.09
PostgreSQL 42.7.3 42.7.3
Desplazamiento al rojo del Amazonas corrimiento al rojo-jdbc42-2.1.0.29 corrimiento al rojo-jdbc42-2.1.0.29

Las siguientes son actualizaciones del conector Spark:

Conductor Lectura del conector en AWS Glue 5.0 Lectura del conector en AWS Glue 5.1
Desplazamiento al rojo del Amazonas 6.4.0 6.4.2
Aclarar búsqueda 1.2.0 1.2.0
MongoDB 10.3.0 10.3.0
Copo de cocaína 3.0.0 3.1.1
Gran consulta 0.32.2 0.32.2
azurcosmos 4.33.0 4.33.0
AzureSQL 1.3.0 1.3.0
erguido 3.3.5 3.3.5

Comience a utilizar AWS Glue 5.1

Puede comenzar a utilizar AWS Glue 5.1 a través de AWS Glue Studio, la consola de AWS Glue, el final SDK de AWS y el Interfaz de semirrecta de comandos de AWS (AWS CLI).

Para comenzar a utilizar trabajos de AWS Glue 5.1 en AWS Glue Studio, refugio el trabajo de AWS Glue y en la Detalles del trabajo pestaña, elige la traducción Pegamento 5.1: compatible con Spark 3.5, Scala 2, Python 3.

Para comenzar a utilizar AWS Glue 5.1 en un cuaderno de AWS Glue Studio o en una sesión interactiva a través de un cuaderno de Jupyter, configure 5.1 en el %glue_version hechicería:

El venidero resultado muestra que la sesión está configurada para utilizar AWS Glue 5.1:

Setting Glue version to: 5.1

Posibilidad de problemas de Spark con pegamento 5.1

Para acelerar la posibilidad de problemas de Apache Spark y la optimización del rendimiento del trabajo para sus trabajos ETL de Glue 5.1, puede utilizar el agente de posibilidad de problemas de Apache Spark recientemente introducido. La posibilidad de problemas tradicional de Spark requiere un exploración manual total de registros, métricas de rendimiento y patrones de error para identificar las causas fundamentales y las oportunidades de optimización. El agente simplifica este proceso mediante indicaciones en lengua natural, exploración automatizado de la carga de trabajo y recomendaciones de código inteligente. El agente tiene tres componentes principales: un asistente de IA compatible con MCP en su entorno de ampliación para la interacción, el proxy MCP para AWS que maneja la comunicación segura entre su cliente y el servidor MCP, y un Estudio unificado de Amazon SageMaker Servidor MCP administrado (traducción preliminar) que proporciona herramientas especializadas de modernización y posibilidad de problemas de Spark para trabajos de Glue 5.1.

Para configurar el agente, siga las instrucciones para configurar los bienes y la configuración de MCP: Configuración para Agente de resolución de problemas de Apache Spark. Luego, puede iniciar su cliente MCP preferido y utilizar la conversación para interactuar con las herramientas para solucionar problemas.

La venidero es una demostración de cómo puede utilizar el agente de resolución de problemas de Apache Spark con Kiro CLI para depurar una ejecución de trabajo de Glue 5.1.

Para obtener más información y tutoriales en vídeo sobre cómo utilizar el agente de posibilidad de problemas de Apache Spark, consulte Agente de resolución de problemas de Apache Spark para Amazon EMR.

Conclusión

En esta publicación, analizamos las características y beneficios secreto de AWS Glue 5.1. Puede crear nuevos trabajos de AWS Glue en AWS Glue 5.1 o portar sus trabajos de AWS Glue existentes para beneficiarse de las mejoras.

Nos gustaría devolver el apoyo de numerosos ingenieros y líderes que ayudaron a construir Glue 5.1 para elogiar soporte a los clientes con un tiempo de ejecución de Spark optimizado y ofrecer nuevas capacidades.


Sobre los autores

Chiho Sugimoto

chiho es ingeniero de soporte en la nimbo en el equipo de soporte de Big Data de AWS. Le apasiona ayudar a los clientes a crear lagos de datos utilizando cargas de trabajo ETL. Le encanta la ciencia planetaria y le gusta estudiar el asteroide Ryugu los fines de semana.

Noritaka Sekiyama

Noritaka es arquitecto principal de Big Data en el equipo de productos de AWS Analytics. Es responsable de diseñar nuevas funciones en los productos de AWS, crear artefactos de software y elogiar orientación sobre cimentación a los clientes. En su tiempo atrevido le gusta marchar en bici de carretera.

Peter Tsai

Peter es ingeniero de ampliación de software en AWS, donde disfruta resolviendo desafíos en el diseño y rendimiento del tiempo de ejecución de AWS Glue. En su tiempo atrevido le gusta el senderismo y el ciclismo.

boli

boli es ingeniero sénior de ampliación de software en el equipo de AWS Glue. Se dedica a diseñar y crear soluciones de extremo a extremo para chocar las deposición de procesamiento y exploración de datos de los clientes con tecnologías GenAI, basadas en la nimbo y con uso intensivo de datos.

Kartik Panjabi

kartik es jefe de ampliación de software en el equipo de AWS Glue. Su equipo crea funciones de IA generativa para la integración de datos y un sistema distribuido para la integración de datos.

Peter Manastyrny

Peter es jefe de producto y se especializa en cargas de trabajo de procesamiento e integración de datos en AWS. Está trabajando para hacer de AWS Glue la mejor utensilio para crear y efectuar canales de datos integrados complejos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *