Clase Unbox - AWS Glue

Clase Unbox

Conversión unbox de un campo de cadena en un elemento DynamicFrame.

Methods

__call__(frame, path, format, transformation_ctx = "", info="", stageThreshold=0, totalThreshold=0, **options)

Conversión unbox de un campo de cadena en un elemento DynamicFrame.

  • frame: el DynamicFrame en el que se realizará la conversión unbox de un campo. (Obligatorio).

  • path: ruta completa al elemento StringNode cuya conversión unbox debe realizarse (obligatorio).

  • format: una especificación de formato (opcional). Se utiliza para Amazon Simple Storage Service (Amazon S3) o una conexión de AWS Glue que admite diversos formatos. Consulte en Opciones de formato para las entradas y salidas de ETL en AWS Glue los formatos que se admiten.

  • transformation_ctx: cadena única que se utiliza para identificar la información del estado (opcional).

  • info: cadena que está asociada a errores en la transformación (opcional).

  • stageThreshold: número máximo de errores que se pueden producir en la transformación antes de que se determine que es errónea (opcional, el valor predeterminado es cero).

  • totalThreshold: número máximo de errores que se pueden producir en total antes de que se determine que el proceso es erróneo (opcional, el valor predeterminado es cero).

  • separator: token de separador (opcional).

  • escaper: token de escape (opcional).

  • skipFirst: True si la primera línea de datos debe omitirse o False si no debe omitirse (opcional).

  • withSchema: cadena que contiene esquemas para los datos cuya conversión unbox debe realizarse (opcional). Debe crear siempre utilizando StructType.json.

  • withHeader: True si los datos cuya conversión unbox se realiza contienen un encabezado o False en caso contrario (opcional).

Devuelve un DynamicFrame nuevo con el elemento DynamicRecords con una conversión unbox realizada.

apply(cls, *args, **kwargs)

Heredado de GlueTransform apply.

name(cls)

Heredado de GlueTransform name.

describeArgs(cls)

Heredado de GlueTransform describeArgs.

describeReturn(cls)

Heredado de GlueTransform describeReturn.

describeTransform(cls)

Heredado de GlueTransform describeTransform.

describeErrors(cls)

Heredado de GlueTransform describeErrors.

describe(cls)

Heredado de GlueTransform describe.

Ejemplo de Unbox

Los siguientes comandos crean el DynamicFrame dyf_warehouse que se utiliza en este ejemplo.

warehouse_inventory_list = [ ['TX_WAREHOUSE', '{\ "strawberry":"220",\ "pineapple":"560",\ "mango":"350",\ "pears":null}' ],\ ['CA_WAREHOUSE', '{\ "strawberry":"34",\ "pineapple":"123",\ "mango":"42",\ "pears":null}\ '], ['CO_WAREHOUSE', '{\ "strawberry":"340",\ "pineapple":"180",\ "mango":"2",\ "pears":null}' ] ] warehouse_schema = StructType([StructField("warehouse_loc", StringType())\ ,StructField("data", StringType())]) df_warehouse = spark.createDataFrame(warehouse_inventory_list, schema = warehouse_schema) dyf_warehouse = DynamicFrame.fromDF(df_warehouse, glueContext, "dyf_warehouse")

La función Unbox del ejemplo siguiente convierte las listas dentro del tipo de datos String en una estructura.

dyf_warehouse.printSchema() root |-- warehouse_location: string |-- data: string dyf_unbox = Unbox.apply(frame = dyf_warehouse, path = "data", format="json") dyf_unbox.printSchema() root |-- warehouse_loc: string |-- data: struct | |-- strawberry: int | |-- pineapple: int | |-- mango: int | |-- pears: null dyf_unbox.toDF().show() +-------------+----------------+ |warehouse_loc| data| +-------------+----------------+ | TX_WAREHOUSE|[220, 560, 350,]| | CA_WAREHOUSE| [34, 123, 42,]| | CO_WAREHOUSE| [340, 180, 2,]| +-------------+----------------+