Membaca dari tabel JDBC secara paralel - AWS Glue

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

Membaca dari tabel JDBC secara paralel

Anda dapat mengatur properti tabel JDBC Anda untuk mengaktifkan AWS Glue untuk membaca data secara paralel. Ketika Anda menetapkan properti tertentu, Anda menginstruksikan AWS Glue untuk menjalankan query SQL paralel terhadap partisi logis data Anda. Anda dapat mengontrol pemartisian dengan menetapkan bidang hash atau ekspresi hash. Anda juga dapat mengontrol jumlah baca paralel yang digunakan untuk mengakses data Anda.

Membaca dari tabel JDBC secara paralel adalah teknik optimasi yang dapat meningkatkan kinerja. Untuk informasi lebih lanjut tentang proses mengidentifikasi kapan teknik ini tepat, lihat Kurangi jumlah pemindaian data dalam Praktik terbaik untuk penyetelan AWS Glue kinerja untuk panduan pekerjaan Apache Spark pada AWS Panduan Preskriptif.

Untuk memungkinkan baca paralel, Anda dapat 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 juga dapat mengaktifkan baca paralel ketika Anda memanggil metode ETL (extract, transform, dan load) create_dynamic_frame_from_options dan create_dynamic_frame_from_catalog. Untuk informasi lebih lanjut tentang menentukan opsi dalam metode ini, lihat from_options dan from_catalog.

Anda dapat menggunakan metode ini untuk tabel JDBC, yaitu, sebagian besar tabel yang data dasar-nya merupakan penyimpanan data JDBC. Properti ini diabaikan saat membaca tabel Amazon Redshift dan tabel Amazon S3.

hashfield

Atur hashfield dengan nama kolom dalam tabel JDBC yang akan digunakan untuk membagi data menjadi partisi. Untuk hasil terbaik, kolom ini harus memiliki distribusi nilai yang genap untuk menyebarkan data antar partisi. Kolom ini dapat berupa tipe data apa pun. AWS Glue menghasilkan kueri yang tidak tumpang tindih yang berjalan secara paralel untuk membaca data yang dipartisi oleh kolom ini. Misalnya, jika data Anda didistribusikan secara merata berdasarkan bulan, Anda dapat menggunakan kolom month untuk membaca setiap bulan data secara paralel.

'hashfield': 'month'

AWS Glue membuat kueri untuk hash nilai bidang ke nomor partisi dan menjalankan kueri untuk semua partisi secara paralel. Untuk menggunakan kueri Anda sendiri untuk melakukan partisi pada pembacaan tabel, berikan hashexpression, bukan sebuah hashfield.

hashexpression

Atur hashexpression dengan ekspresi SQL (sesuai dengan tata bahasa mesin basis data JDBC) yang mengembalikan bilangan bulat. Ekspresi sederhana adalah nama kolom numerik apa pun dalam tabel. AWS Glue menghasilkan query SQL untuk membaca data JDBC secara paralel menggunakan dalam WHERE klausa untuk data hashexpression partisi.

Misalnya, gunakan kolom numerik customerID untuk membaca data yang dipartisi berdasarkan nomor pelanggan.

'hashexpression': 'customerID'

Untuk memiliki AWS Glue mengontrol partisi, berikan hashfield bukan a. hashexpression

hashpartitions

Atur hashpartitions dengan jumlah baca paralel tabel JDBC. Jika properti ini tidak diatur, maka nilai default 7 akan digunakan.

Misalnya, atur jumlah pembacaan paralel menjadi 5 sehingga AWS Glue membaca data Anda dengan lima kueri (atau lebih sedikit).

'hashpartitions': '5'