Uso del formato Ion en 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.

Uso del formato Ion en AWS Glue

AWS Glue recupera datos de fuentes y escribe datos en destinos almacenados y transportados en varios formatos de datos. Si los datos se almacenan o se transportan en formato de datos Ion, este documento presenta las características disponibles para utilizar los datos en AWS Glue.

AWS Glue admite el uso del formato Ion. Este formato representa estructuras de datos (que no están basadas en filas o columnas) en representaciones binarias y de texto sin formato intercambiables. Para obtener una introducción al formato por parte de los autores, consulte Amazon Ion. (Para obtener más información, consulte Especificación de Amazon Ion).

Puede utilizar AWS Glue para leer archivos Ion de Amazon S3. Puede leer y escribir archivos bzip y gzip que contengan archivos Ion de S3. Debe configurar el comportamiento de compresión en el Parámetros de conexión S3 en lugar de en la configuración que se describe en esta página.

En la siguiente tabla se muestran las operaciones comunes de AWS Glue que admiten la opción de formato Ion.

Leer Escritura Lectura de streaming Grupo de archivos pequeños Marcadores de trabajo
Compatible No se admite No se admite Compatible No se admite

Ejemplo: leer archivos o carpetas Ion de S3

Requisitos previos: necesitará las rutas de S3 (s3path) de las carpetas o los archivos Ion que desee leer.

Configuración: en las opciones de la función, especifique format="json". En sus connection_options, utilice la clave paths para especificar su s3path. Puede configurar la forma en que el lector interactúa con S3 en la connection_options. Para obtener más información, consulte Tipos y opciones de conexión para ETL en AWS Glue: Referencia de opción de conexión de Amazon S3.

El siguiente script de ETL de AWS Glue muestra el proceso de lectura de archivos o carpetas Ion de S3:

Python

Para este ejemplo, use el método create_dynamic_frame.from_options.

# Example: Read ION from S3 from pyspark.context import SparkContext from awsglue.context import GlueContext sc = SparkContext.getOrCreate() glueContext = GlueContext(sc) dynamicFrame = glueContext.create_dynamic_frame.from_options( connection_type="s3", connection_options={"paths": ["s3://s3path"]}, format="ion" )
Scala

Para este ejemplo, use la operación getSourceWithFormat.

// Example: Read ION from S3 import com.amazonaws.services.glue.util.JsonOptions import com.amazonaws.services.glue.GlueContext import org.apache.spark.SparkContext object GlueApp { def main(sysArgs: Array[String]): Unit = { val spark: SparkContext = new SparkContext() val glueContext: GlueContext = new GlueContext(spark) val dynamicFrame = glueContext.getSourceWithFormat( connectionType="s3", format="ion", options=JsonOptions("""{"paths": ["s3://s3path"], "recurse": true}""") ).getDynamicFrame() } }

Referencia de configuración de Ion

No hay valores format_options para format="ion".