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.
dfc
—DynamicFrameCollection
tempat untuk melakukan flatmap (wajib).BaseTransform
— Sebuah transformasi yang berasal dariGlueTransform
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.