FlatMap kelas - AWS Glue

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

FlatMap kelas

Menerapkan transformasi ke masing-masing DynamicFrame dalam koleksi. Hasil tidak diratakan menjadi satuDynamicFrame, tetapi dipertahankan sebagai koleksi.

Contoh untuk FlatMap

Contoh cuplikan berikut menunjukkan bagaimana menggunakan ResolveChoice transformasi pada koleksi frame dinamis ketika diterapkan ke file. FlatMap Data yang digunakan untuk input ada di JSON yang terletak di alamat Amazon S3 placeholder s3://bucket/path-for-data/sample.json dan berisi data berikut.

[{ "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" ] }]
contoh Terapkan ResolveChoice ke DynamicFrameCollection dan tampilkan 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()
penting

Saat meneleponFlatMap.apply, frame_name parameternya harus"frame". Tidak ada nilai lain yang diterima saat ini.

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" ] }

Metode

__call__ (dfc,, frame_name BaseTransform, transformation_ctx = “”, **base_kwargs)

Menerapkan sebuah transformasi untuk setiap DynamicFrame dalam sebuah koleksi dan meratakan hasilnya.

  • dfcDynamicFrameCollection tempat untuk melakukan flatmap (wajib).

  • BaseTransform — Sebuah transformasi yang berasal dari GlueTransform untuk diterapkan ke setiap anggota koleksi (wajib).

  • frame_name — Nama argumen yang padanya elemen koleksi akan diberikan (wajib).

  • transformation_ctx — Sebuah string unik yang digunakan untuk mengidentifikasi informasi status (opsional).

  • base_kwargs — Argumen yang akan diberikan ke transformasi dasar (wajib).

Mengembalikan sebuah DynamicFrameCollection baru yang dibuat dengan menerapkan transformasi untuk setiap DynamicFrame dalam DynamicFrameCollection sumber.

apply(cls, *args, **kwargs)

Warisan dari GlueTransform apply.

name(cls)

Warisan dari GlueTransform nama.

describeArgs(cls)

Warisan dari GlueTransform describeArgs.

describeReturn(cls)

Warisan dari GlueTransform describeReturn.

describeTransform(cls)

Warisan dari GlueTransform describeTransform.

describeErrors(cls)

Warisan dari GlueTransform describeErrors.

describe(cls)

Warisan dari GlueTransform describe.