FlatMap Class - AWS Glue

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 – Die DynamicFrameCollection, über die die Angleichung erfolgen soll (erforderlich).

  • BaseTransform – Eine von GlueTransform 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.