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.
Uso del marco de Delta Lake en AWS Glue
AWS Glue 3.0 y versiones posteriores son compatibles con el marco de Linux Foundation Delta Lake. Delta Lake es un marco de almacenamiento de lagos de datos de código abierto para hacer transacciones de ACID, escalar el manejo de metadatos y unificar la transmisión y el procesamiento de datos por lotes. En este tema se describen las características disponibles para usar los datos en AWS Glue al transportar o almacenar datos en una tabla de Delta Lake. Para más información acerca de Delta Lake, consulte la documentación oficial de Delta Lake
Puede usar AWS Glue para llevar a cabo operaciones de lectura y escritura en tablas de Delta Lake en Amazon S3, o trabajar con tablas de Delta Lake mediante el Catálogo de datos de AWS Glue. También se admiten operaciones adicionales, como la inserción, la actualización y las lecturas y escrituras de tablas por lotesDeltaTable.forPath
. Para más información sobre la biblioteca de Python de Delta Lake, consulte la página de la documentación de Python Welcome to Delta Lake
En la siguiente tabla, se muestra la versión de Delta Lake que se incluye en cada versión de AWS Glue.
Versión de AWS Glue | Versión de Delta Lake compatible |
---|---|
4.0 | 2.1.0 |
3.0 | 1.0.0 |
Para más información sobre los marcos de lagos de datos compatibles con AWS Glue, consulte Uso de marcos de lagos de datos con trabajos de ETL de AWS Glue.
Habilitar Delta Lake para AWS Glue
Para activar Delta Lake para AWS Glue, haga las siguientes tareas:
-
Especifique
delta
como valor para el parámetro del trabajo--datalake-formats
. Para obtener más información, consulte Parámetros de los trabajos de AWS Glue. -
Cree una clave con el nombre
--conf
para el trabajo de AWS Glue y establézcala en el siguiente valor. Como alternativa, puede establecer la siguiente configuración medianteSparkConf
en su script. Esta configuración ayuda a Apache Spark a gestionar correctamente las tablas de Delta Lake.spark.sql.extensions=io.delta.sql.DeltaSparkSessionExtension --conf spark.sql.catalog.spark_catalog=org.apache.spark.sql.delta.catalog.DeltaCatalog
Uso de una versión diferente de Delta Lake
Para usar una versión de Delta Lake que no sea compatible con AWS Glue, indique sus propios archivos JAR de Delta Lake mediante el parámetro de trabajo --extra-jars
. No incluya delta
como valor para el parámetro de trabajo --datalake-formats
. En este caso, para utilizar la biblioteca de Python de Delta Lake, debe especificar los archivos JAR de la biblioteca mediante el parámetro de trabajo --extra-py-files
. La biblioteca de Python viene empaquetada en los archivos JAR de Delta Lake.
Ejemplo: escribir una tabla de Delta Lake en Amazon S3 y regístrela en el Catálogo de datos de AWS Glue
El siguiente script ETL de AWS Glue muestra cómo escribir una tabla de Delta Lake en Amazon S3 y registrar la tabla en el Catálogo de datos de AWS Glue.
Ejemplo: leer una tabla de Delta Lake de Amazon S3 con el Catálogo de datos de AWS Glue
El siguiente script de ETL de AWS Glue lee la tabla de Delta Lake que creó en Ejemplo: escribir una tabla de Delta Lake en Amazon S3 y regístrela en el Catálogo de datos de AWS Glue.
Ejemplo: insertar un elemento DataFrame
en una tabla de Delta Lake de Amazon S3 con el Catálogo de datos de AWS Glue
En este ejemplo, se insertan los datos en la tabla de Delta Lake que creó en Ejemplo: escribir una tabla de Delta Lake en Amazon S3 y regístrela en el Catálogo de datos de AWS Glue.
nota
En este ejemplo, se requiere que establezca el parámetro de trabajo de --enable-glue-datacatalog
para utilizar el Catálogo de datos de AWS Glue como metaalmacén de Apache Spark Hive. Para obtener más información, consulte Parámetros de los trabajos de AWS Glue.
Ejemplo: leer una tabla de Delta Lake de Amazon S3 con la API de Spark
En este ejemplo, se lee una tabla de Delta Lake de Amazon S3 con la API de Spark.
Ejemplo: escribir una tabla de Delta Lake en Amazon S3 con Spark
En este ejemplo, se escribe una tabla de Delta Lake en Amazon S3 con Spark.