Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
FlatMap Class
Wendet eine Transformation auf jeden DynamicFrame
in einer Sammlung an. Die Ergebnisse werden nicht zu einem einzelnen DynamicFrame
zusammengefasst, sondern als Sammlung aufbewahrt.
Beispiele für FlatMap
Der folgende Beispielausschnitt zeigt, wie die ResolveChoice
-Transformation bei Anwendung auf einen FlatMap
auf eine Sammlung dynamischer Frames angewendet wird. Die zur Eingabe verwendeten Daten befinden sich im JSON unter dem Platzhalter Amazon-S3-Adresse s3://bucket/path-for-data/sample.json
und enthalten die folgenden Daten.
[{ "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" ] }]
Beispiel Wenden Sie ResolveChoice auf eine DynamicFrameCollection an und zeigen Sie die Ausgabe an.
#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()
Wichtig
Beim Aufruf von FlatMap.apply
muss der frame_name
-Parameter "frame"
sein. Derzeit wird kein anderer Wert akzeptiert.
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" ] }
Methoden
__call__(dfc, BaseTransform, frame_name, transformation_ctx = "", **base_kwargs)
Wendet eine Transformation auf jeden DynamicFrame
in einer Sammlung an und gleicht die Ergebnisse an.
dfc
– DieDynamicFrameCollection
, über die die Angleichung erfolgen soll (erforderlich).BaseTransform
– Eine vonGlueTransform
abgeleitete Transformation, die auf jedes Element der Sammlung angewandt werden soll (erforderlich).frame_name
– Der Name des Arguments, an das die Elemente der Sammlung weitergeleitet werden sollen (erforderlich).transformation_ctx
– Eine eindeutige Zeichenfolge zur Identifikation von Statusinformationen (optional).base_kwargs
– Argumente, die an die Basistransformation weitergeleitet werden sollen (erforderlich).
Gibt eine neue DynamicFrameCollection
zurück, die durch Anwenden der Transformation auf jeden DynamicFrame
in der DynamicFrameCollection
-Quelle erstellt wurde.
apply(cls, *args, **kwargs)
Geerbt von GlueTransform
apply.
name(cls)
Geerbt von GlueTransform
Name.
describeArgs(cls)
Geerbt von GlueTransform
describeArgs.
describeReturn(cls)
Geerbt von GlueTransform
describeReturn.
describeTransform(cls)
Geerbt von GlueTransform
describeTransform.
describeErrors(cls)
Geerbt von GlueTransform
describeErrors.
describe(cls)
Geerbt von GlueTransform
Beschreiben.