Clase ApplyMapping - AWS Glue

Clase ApplyMapping

Aplica un mapeo en un DynamicFrame.

Methods

__call__(frame, mappings, transformation_ctx = "", info = "", stageThreshold = 0, totalThreshold = 0)

Aplica un mapeo declarativo a un especificado DynamicFrame.

  • frame: DynamicFrame donde se aplica el mapeo (obligatorio).

  • mappings: lista de tuplas de mapeo, consistentes cada una en: (columna de origen, tipo de origen, columna de destino, tipo de destino). Obligatorio.

    Si la columna de origen tiene puntos “.”, corchetes “[]” o paréntesis “()” en el nombre, la asignación no funcionará a menos que la ponga entre tildes agudas “``”. Por ejemplo, para asignar this.old.name (cadena) a thisNewName (cadena) y [id] (largo) a id (largo), debería utilizar las siguientes tuplas:

    ("`this.old.name`", "string", "thisNewName", "string"), ("`[id]`", "long", "id", "long")
  • 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).

Devuelve únicamente los campos del DynamicFrame especificado en las tuplas de "mapeo".

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 ApplyMapping

En este ejemplo invoca ApplyMapping para un DynamicFrame que utiliza el siguiente esquema:

order_schema = StructType([ StructField("order_id", StringType()), StructField("customer_id", StringType()), StructField("essential_item", StringType()), StructField("timestamp", StringType()), StructField("zipcode", StringType()) ])

En este ejemplo se cambian algunas de las columnas de String al formato Long para ahorrar espacio de almacenamiento. También acorta el nombre de la columna zipcode a zip.

dyf_applyMapping = ApplyMapping.apply( frame = dyf_orders, mappings = [ ("order_id","String","order_id","Long"), ("customer_id","String","customer_id","Long"), ("essential_item","String","essential_item","String"), ("timestamp","String", "timestamp","Long"), ("zipcode","String","zip","Long") ])