Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membaca file input dalam kelompok yang lebih besar
Anda dapat mengatur properti tabel Anda untuk memungkinkan tugas ETL AWS Glue untuk mengelompokkan file ketika dibaca dari penyimpanan data Amazon S3. Properti ini memungkinkan setiap tugas ETL untuk membaca sekelompok file input ke dalam partisi di memori tunggal, ini sangat berguna ketika ada sejumlah besar file kecil di Penyimpanan data Amazon S3 Anda. Ketika Anda mengatur properti tertentu, Anda menginstruksikan AWS Glue untuk mengelompokkan file dalam partisi data Amazon S3 dan mengatur ukuran grup yang akan dibaca. Anda juga dapat mengatur pilihan ini ketika membaca dari penyimpanan data Amazon S3 dengan metode create_dynamic_frame.from_options
.
Untuk mengaktifkan pengelompokan file untuk sebuah tabel, Anda mengatur pasangan nilai-kunci di bidang parameter struktur tabel Anda. Gunakan notasi JSON untuk menetapkan nilai untuk bidang parameter tabel Anda. Untuk informasi lebih lanjut tentang mengedit properti tabel, lihat Melihat dan mengelola detail tabel.
Anda dapat menggunakan metode ini untuk mengaktifkan pengelompokan untuk tabel di Katalog Data dengan menyimpan data Amazon S3.
- groupFiles
-
Atur groupFiles ke
inPartition
untuk mengaktifkan pengelompokan file dalam partisi data Amazon S3. AWS Glue secara otomatis memungkinkan pengelompokan jika ada lebih dari 50.000 file input, seperti dalam contoh berikut.'groupFiles': 'inPartition'
- groupSize
-
Atur groupSize untuk ukuran target grup dalam byte. Properti groupSize bersifat opsional, jika tidak disediakan, AWS Glue menghitung ukuran untuk menggunakan semua core CPU di klaster sekaligus masih mengurangi jumlah keseluruhan tugas ETL dan partisi di memori.
Sebagai contoh, berikut ini menetapkan ukuran grup ke 1 MB.
'groupSize': '1048576'
Perhatikan bahwa
groupsize
harus diatur dengan hasil perhitungan. Sebagai contoh 1024 * 1024 = 1048576. - rekursi
-
Atur rekursi ke
True
untuk secara rekursif membaca file di semua subdirektori saat menentukanpaths
sebagai array path. Anda tidak perlu mengatur recurse ifpaths
adalah array kunci objek di Amazon S3, atau jika format input parquet/orc, seperti pada contoh berikut.'recurse':True
Jika Anda membaca dari Amazon S3 secara langsung menggunakan metode create_dynamic_frame.from_options
, tambahkan opsi koneksi ini. Sebagai contoh, upaya berikut untuk mengelompokkan file ke dalam grup 1 MB.
df = glueContext.create_dynamic_frame.from_options("s3", {'paths': ["s3://s3path/"], 'recurse':True, 'groupFiles': 'inPartition', 'groupSize': '1048576'}, format="json")
catatan
groupFiles
didukung untuk DynamicFrames dibuat dari format data berikut: csv, ion, GrokLog, json, dan xml. Opsi ini tidak didukung untuk avro, parket, dan orc.