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.
Clase FlatMap
Aplica una transformación a cada DynamicFrame
en una colección. Los resultados no se agrupan en un solo DynamicFrame
, sino que se conservan como una colección.
Ejemplos de FlatMap
El siguiente fragmento de ejemplo muestra cómo utilizar la transformación ResolveChoice
en un conjunto de marcos dinámicos cuando se aplica a un FlatMap
. Los datos utilizados para la entrada se encuentran en el JSON ubicado en el marcador de posición de la dirección Amazon S3 s3://bucket/path-for-data/sample.json
y contienen los siguientes datos.
[{ "firstname": "Arnav", "lastname": "Desai", "address": { "street": "6 Anyroad Avenue", "city": "London", "state": "England", "country": "UK" }, "phone": 17235550101, "affiliations": [ "General Anonymous Example Products", "Example Independent Research", "Government Department of Examples" ] }, { "firstname": "Mary", "lastname": "Major", "address": { "street": "7821 Spot Place", "city": "Centerville", "state": "OK", "country": "US" }, "phone": 19185550023, "affiliations": [ "Example Dot Com", "Example Independent Research", "Example.io" ] }, { "firstname": "Paulo", "lastname": "Santos", "address": { "street": "123 Maple Street", "city": "London", "state": "Ontario", "country": "CA" }, "phone": 12175550181, "affiliations": [ "General Anonymous Example Products", "Example Dot Com" ] }]
ejemplo Aplique ResolveChoice a una DynamicFrameCollection y muestre el resultado.
#Read DynamicFrame datasource = glueContext.create_dynamic_frame_from_options("s3", connection_options = {"paths":["s3://bucket/path/to/file/mysamplejson.json"]}, format="json") datasource.printSchema() datasource.show() ## Split to create a DynamicFrameCollection split_frame=datasource.split_fields(["firstname","lastname","address"],"personal_info","business_info") split_frame.keys() print("---") ## Use FlatMap to run ResolveChoice kwargs = {"choice": "cast:string"} flat = FlatMap.apply(split_frame, ResolveChoice, frame_name="frame", transformation_ctx='tcx', **kwargs) flat.keys() ##Select one of the DynamicFrames personal_info = flat.select("personal_info") personal_info.printSchema() personal_info.show() print("---") business_info = flat.select("business_info") business_info.printSchema() business_info.show()
importante
Al llamar a FlatMap.apply
, el parámetro frame_name
debe ser "frame"
. Actualmente no se acepta ningún otro valor.
root |-- firstname: string |-- lastname: string |-- address: struct | |-- street: string | |-- city: string | |-- state: string | |-- country: string |-- phone: long |-- affiliations: array | |-- element: string --- { "firstname": "Mary", "lastname": "Major", "address": { "street": "7821 Spot Place", "city": "Centerville", "state": "OK", "country": "US" }, "phone": 19185550023, "affiliations": [ "Example Dot Com", "Example Independent Research", "Example.io" ] } { "firstname": "Paulo", "lastname": "Santos", "address": { "street": "123 Maple Street", "city": "London", "state": "Ontario", "country": "CA" }, "phone": 12175550181, "affiliations": [ "General Anonymous Example Products", "Example Dot Com" ] } --- root |-- firstname: string |-- lastname: string |-- address: struct | |-- street: string | |-- city: string | |-- state: string | |-- country: string { "firstname": "Mary", "lastname": "Major", "address": { "street": "7821 Spot Place", "city": "Centerville", "state": "OK", "country": "US" } } { "firstname": "Paulo", "lastname": "Santos", "address": { "street": "123 Maple Street", "city": "London", "state": "Ontario", "country": "CA" } } --- root |-- phone: long |-- affiliations: array | |-- element: string { "phone": 19185550023, "affiliations": [ "Example Dot Com", "Example Independent Research", "Example.io" ] } { "phone": 12175550181, "affiliations": [ "General Anonymous Example Products", "Example Dot Com" ] }
Métodos
__call__(dfc, BaseTransform, frame_name, transformation_ctx = "", **base_kwargs)
Aplica una transformación a cada DynamicFrame
en una colección y aplana los resultados.
dfc
: elDynamicFrameCollection
para aplanar (obligatorio).BaseTransform
: una transformación derivada deGlueTransform
que se aplica a cada miembro de la colección (obligatorio).frame_name
: el nombre del argumento al que se pasan los elementos de la colección (obligatorio).transformation_ctx
: cadena única que se utiliza para identificar la información del estado (opcional).base_kwargs
: argumentos que se pasan a la transformación de base (obligatorio).
Devuelve un nuevo DynamicFrameCollection
que se crea al aplicar la transformación a cada DynamicFrame
en la DynamicFrameCollection
de origen.
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.