Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Classe FlatMap
Applica una trasformazione a ogni DynamicFrame
in una raccolta. I risultati non vengono appiattiti in un unico DynamicFrame
ma conservati come una raccolta.
Esempi per FlatMap
Il seguente frammento di esempio mostra come utilizzare la trasformazione ResolveChoice
su una raccolta di frame dinamici quando applicata a una FlatMap
. I dati utilizzati per l'input sono nel JSON situato all'indirizzo segnaposto s3://bucket/path-for-data/sample.json
di Amazon S3 e contengono i seguenti dati.
[{ "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" ] }]
Esempio Applica ResolveChoice a una DynamicFrameCollection e mostra l'output.
#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
Quando si chiama FlatMap.apply
, il parametro frame_name
deve essere "frame"
. Nessun altro valore è attualmente accettato.
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" ] }
Metodi
__call__ (dfc, BaseTransform, frame_name, transformation_ctx = "",** base_kwargs)
Si applica alla trasformazione per ogni DynamicFrame
in una raccolta e appiattisce i risultati.
dfc
: laDynamicFrameCollection
su cui applicare la classe flatmap (obbligatorio).BaseTransform
: una trasformazione derivata daGlueTransform
da applicare a ciascun membro della raccolta (obbligatorio).frame_name
: Il nome dell'argomento a cui passare gli elementi della raccolta (obbligatorio).transformation_ctx
: una stringa univoca utilizzata per identificare informazioni sullo stato (opzionale).base_kwargs
: argomenti per passare alla trasformazione di base (obbligatorio).
Restituisce una nuova DynamicFrameCollection
creata applicando la trasformazione a ciascun DynamicFrame
nella DynamicFrameCollection
di origine.
apply(cls, *args, **kwargs)
Ereditato da GlueTransform
apply.
name(cls)
Ereditato da GlueTransform
name.
describeArgs(cls)
Ereditato da GlueTransform
describeArgs.
describeReturn(cls)
Ereditato da GlueTransform
describeReturn.
describeTransform(cls)
Ereditato da GlueTransform
describeTransform.
describeErrors(cls)
Ereditato da GlueTransform
describeErrors.
describe(cls)
Ereditato da GlueTransform
describe.