Clase DropFields - AWS Glue

Clase DropFields

Descarta campos en un DynamicFrame.

Methods

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

Descarta nodos en un DynamicFrame.

  • frame: DynamicFrame donde se descartan los nodos (obligatorio).

  • paths:lista de rutas completas a los nodos que se descartarán (obligatorio).

  • 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 un DynamicFrame nuevo sin los campos especificados.

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.

Examples

Conjunto de datos utilizado para ejemplos de DropFields

El siguiente conjunto de datos se utiliza para los ejemplos de DropFields:

{name: Sally, age: 23, location: {state: WY, county: Fremont}, friends: []} {name: Varun, age: 34, location: {state: NE, county: Douglas}, friends: [{name: Arjun, age: 3}]} {name: George, age: 52, location: {state: NY}, friends: [{name: Fred}, {name: Amy, age: 15}]} {name: Haruki, age: 21, location: {state: AK, county: Denali}} {name: Sheila, age: 63, friends: [{name: Nancy, age: 22}]}

Este conjunto de datos tiene el siguiente esquema:

root |-- name: string |-- age: int |-- location: struct | |-- state: string | |-- county: string |-- friends: array | |-- element: struct | | |-- name: string | | |-- age: int

Ejemplo: descartar un campo de nivel superior

Utilice un código similar al siguiente para descartar el campo age:

df_no_age = DropFields.apply(df, paths=['age'])

Conjunto de datos resultante:

{name: Sally, location: {state: WY, county: Fremont}, friends: []} {name: Varun, location: {state: NE, county: Douglas}, friends: [{name: Arjun, age: 3}]} {name: George, location: {state: NY}, friends: [{name: Fred}, {name: Amy, age: 15}]} {name: Haruki, location: {state: AK, county: Denali}} {name: Sheila, friends: [{name: Nancy, age: 22}]}

Esquema resultante:

root |-- name: string |-- location: struct | |-- state: string | |-- county: string |-- friends: array | |-- element: struct | | |-- name: string | | |-- age: int

Ejemplo: descartar un campo anidado

Para descartar un campo anidado, puede calificar el campo con un '.'.

df_no_county = DropFields.apply(df, paths=['location.county'])

Conjunto de datos resultante:

{name: Sally, age: 23, location: {state: WY}, friends: []} {name: Varun, age: 34, location: {state: NE}, friends: [{name: Arjun, age: 3}]} {name: George, age: 52, location: {state: NY}, friends: [{name: Fred}, {name: Amy, age: 15}]} {name: Haruki, age: 21, location: {state: AK}} {name: Sheila, age: 63, friends: [{name: Nancy, age: 22}]}

Si descarta el último elemento de tipo struct, la transformación elimina toda la struct.

df_no_county = DropFields.apply(df, paths=['location.state])

Esquema resultante:

root |-- name: string |-- age: int |-- friends: array | |-- element: struct | | |-- name: string | | |-- age: int

Ejemplo: descartar un campo anidado de una matriz

No se necesita una sintaxis especial para descartar un campo desde el interior de una struct anidada dentro de una array. Por ejemplo, podemos descartar el campo age de la matriz friends con lo siguiente:

df_no_friend_age = DropFields.apply(df, paths=['friends.age'])

Conjunto de datos resultante:

{name: Sally, age: 23, location: {state: WY, county: Fremont}} {name: Varun, age: 34, location: {state: NE, county: Douglas}, friends: [{name: Arjun}]} {name: George, age: 52, location: {state: NY}, friends: [{name: Fred}, {name: Amy}]} {name: Haruki, age: 21, location: {state: AK, county: Denali}} {name: Sheila, age: 63, friends: [{name: Nancy}]}

Esquema resultante:

root |-- name: string |-- age: int |-- location: struct | |-- state: string | |-- county: string |-- friends: array | |-- element: struct | | |-- name: string

Ejemplo de DropFields

Los acentos graves (`) alrededor de .zip en el siguiente ejemplo son necesarios porque el nombre de la columna contiene un punto (.).

dyf_dropfields = DropFields.apply(frame = dyf_join, paths = "`.zip`")