Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Classe FlatMap
Applique une transformation à chaque DynamicFrame
d'une collection. Les résultats ne sont pas aplatis en un seul DynamicFrame
, mais conservés sous forme de collection.
Exemples pour FlatMap
L'exemple d'extrait suivant montre comment utiliser la transformation ResolveChoice
sur une collection de cadres dynamiques lorsqu'elle est appliquée à un FlatMap
. Les données utilisées pour l'entrée se trouvent dans le JSON situé à l'adresse Amazon S3 de l'espace réservé s3://bucket/path-for-data/sample.json
et contiennent les données suivantes.
[{ "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" ] }]
Exemple Appliquez ResolveChoice à une DynamicFrameCollection et affichez le résultat.
#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()
Important
Lorsque vous appelez FlatMap.apply
, le paramètre frame_name
doit être "frame"
. Aucune autre valeur n'est actuellement acceptée.
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éthodes
__call__(dfc, BaseTransform, frame_name, transformation_ctx = "", **base_kwargs)
Applique une transformation à chaque DynamicFrame
d'une collection et aplatit les résultats.
dfc
–DynamicFrameCollection
sur lequel effectuer un flatmap (obligatoire).BaseTransform
– Transformation dérivée deGlueTransform
à appliquer à chaque membre de la collection (obligatoire).frame_name
– Nom de l'argument auquel transmettre les éléments de la collection (obligatoire).transformation_ctx
– Chaîne unique utilisée pour identifier les informations sur l'état (facultatif).base_kwargs
– Arguments à transmettre à la transformation de base (obligatoire).
Retourne un nouvel objet DynamicFrameCollection
en appliquant la transformation à chaque DynamicFrame
de l'objet DynamicFrameCollection
source.
apply(cls, *args, **kwargs)
Hérité de GlueTransform
s'appliquent.
name(cls)
Hérité de GlueTransform
name.
describeArgs(cls)
Hérité de GlueTransform
describeArgs.
describeReturn(cls)
Hérité de GlueTransform
describeReturn.
describeTransform(cls)
Hérité de GlueTransform
describeTransform.
describeErrors(cls)
Hérité de GlueTransform
describeErrors.
describe(cls)
Hérité de GlueTransform
describe.