Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Migrating AWS Glue untuk pekerjaan Spark ke AWS Glue versi 5.1
Topik ini menjelaskan perubahan antara AWS Glue versi 0.9, 1.0, 2.0, 3.0, 4.0 dan 5.0 untuk memungkinkan Anda memigrasikan aplikasi Spark dan pekerjaan ETL ke AWS Glue 5.1. Ini juga menjelaskan fitur-fitur di AWS Glue 5.1 dan keuntungan menggunakannya.
Untuk menggunakan fitur ini dengan pekerjaan AWS Glue ETL Anda, pilih 5.1 Glue version saat membuat pekerjaan Anda.
Topik
Fitur baru
Bagian ini menjelaskan fitur baru dan keunggulan AWS Glue versi 5.1.
-
Pembaruan Apache Spark dari 3.5.4 di AWS Glue 5.0 ke 3.5.6 di AWS Glue 5.1.
-
Open Table Formats (OTF) diperbarui ke Hudi 1.0.2, Iceberg 1.10.0, dan Delta Lake 3.3.2
-
Iceberg Materialized Views - Buat dan kelola Iceberg Materialized Views (MV). Untuk informasi lebih lanjut, lihat posting blog
-
Format gunung es versi 3.0 - Memperluas tipe data dan struktur metadata yang ada untuk menambahkan kemampuan baru. Untuk informasi lebih lanjut, lihat Spesifikasi Me ja Gunung Es.
-
Hudi Full Table Access - Kontrol Full Table Access (FTA) untuk Apache Hudi di Apache Spark berdasarkan kebijakan Anda yang ditentukan dalam. AWS Lake Formation Fitur ini memungkinkan operasi baca dan tulis dari pekerjaan AWS Glue ETL Anda pada tabel AWS Lake Formation terdaftar ketika peran pekerjaan memiliki akses tabel penuh.
-
Spark dukungan kontrol akses berbutir halus (FGAC) asli menggunakan DDL/DML operasi AWS Lake Formation - (seperti CREATE, ALTER, DELETE, DROP) dengan kontrol akses berbutir halus untuk tabel Apache Hive, Apache Iceberg, dan Delta Lake yang terdaftar di. AWS Lake Formation
-
Konteks audit untuk pekerjaan Spark - Konteks AWS Glue audit untuk pekerjaan ETL akan tersedia untuk AWS Glue dan panggilan AWS Lake Formation API di AWS CloudTrail log.
Masalah dan Keterbatasan yang Diketahui
Perhatikan masalah dan batasan berikut yang diketahui:
-
Dukungan terbatas untuk tampilan klausa SQL untuk pembuatan tampilan yang terwujud, penulisan ulang kueri dan penyegaran tambahan. Rincian lebih lanjut dapat ditemukan di halaman dokumentasi fitur Iceberg Materialized Views
-
Penulisan Hudi FTA memerlukan penggunaan HoodieCredentialedHadoopStorage untuk penjual otomatis kredenSIAL selama pelaksanaan pekerjaan. Atur konfigurasi berikut saat menjalankan tugas Hudi:
hoodie.storage.class=org.apache.spark.sql.hudi.storage.HoodieCredentialedHadoopStorage -
Dukungan penulisan Hudi FTA hanya berfungsi dengan konfigurasi Hudi default. Pengaturan Hudi kustom atau non-default mungkin tidak didukung sepenuhnya dan dapat mengakibatkan perilaku yang tidak terduga. Pengelompokan untuk tabel Hudi Merge-On-Read (MOR) juga tidak didukung di bawah mode tulis FTA.
Melanggar perubahan
Perhatikan perubahan besar berikut:
-
Sistem file S3A telah menggantikan EMRFS sebagai konektor S3 default. Untuk informasi tentang cara bermigrasi, lihatMigrasi dari AWS Glue 5.0 hingga AWS Glue 5.1.
Tindakan untuk bermigrasi ke AWS Glue 5.1
Untuk pekerjaan yang ada, ubah Glue version dari versi sebelumnya ke Glue 5.1 dalam konfigurasi pekerjaan.
-
Di AWS Glue Studio, pilih
Glue 5.1 - Supports Spark 3.5.6, Scala 2, Python 3masukGlue version. -
Di API, pilih
GlueVersionparameter5.1dalam operasiUpdateJobAPI.
Untuk pekerjaan baru, pilih Glue 5.1 kapan Anda membuat pekerjaan.
-
Di konsol, pilih
Spark 3.5.6, Python 3 (Glue Version 5.1) or Spark 3.5.6, Scala 2 (Glue Version 5.1)masukGlue version. -
Di AWS Glue Studio, pilih
Glue 5.1 - Supports Spark 3.5.6, Scala 2, Python 3masukGlue version. -
Di API, pilih
GlueVersionparameter5.1dalam operasiCreateJobAPI.
Untuk melihat log peristiwa Spark AWS Glue 5.1 yang berasal dari AWS Glue 2.0 atau sebelumnya, luncur kan server riwayat Spark yang ditingkatkan untuk AWS Glue 5.1 menggunakan CloudFormation atau Docker.
Daftar periksa migrasi
Tinjau daftar periksa ini untuk migrasi:
-
[Python] Perbarui referensi boto dari 1.34 menjadi 1.40.
Migrasi dari AWS Glue 5.0 hingga AWS Glue 5.1
Semua parameter pekerjaan yang ada dan fitur utama yang ada di AWS Glue 5.0 akan ada di AWS Glue 5.1. Perhatikan perubahan berikut saat bermigrasi:
-
Di AWS Glue 5.1, sistem file S3A telah menggantikan EMRFS sebagai konektor S3 default. Jika keduanya
spark.hadoop.fs.s3a.endpointdan tidakspark.hadoop.fs.s3a.endpoint.regiondisetel, wilayah default yang digunakan oleh S3A adalahus-east-2. Hal ini dapat menyebabkan masalah, seperti kesalahan batas waktu unggahan S3, terutama untuk pekerjaan VPC. Untuk mengurangi masalah yang disebabkan oleh perubahan ini, atur konfigurasi Sspark.hadoop.fs.s3a.endpoint.regionpark saat menggunakan sistem file S3A di AWS Glue 5.1. -
Untuk terus menggunakan EMRFS alih-alih S3A, atur konfigurasi percikan berikut:
--conf spark.hadoop.fs.s3.impl=com.amazon.ws.emr.hadoop.fs.EmrFileSystem --conf spark.hadoop.fs.s3n.impl=com.amazon.ws.emr.hadoop.fs.EmrFileSystem --conf spark.hadoop.fs.AbstractFileSystem.s3.impl=org.apache.hadoop.fs.s3.EMRFSDelegate
Lihat dokumentasi migrasi Spark:
Bermigrasi dari yang lebih tua AWS Glue Versi untuk AWS Glue 5.1
-
Untuk langkah-langkah migrasi yang terkait dengan AWS Glue 4.0 ke AWS Glue 5.0, lihat Migrasi dari AWS Glue 4.0 ke AWS Glue 5.0.
-
Untuk langkah-langkah migrasi yang terkait dengan AWS Glue 3.0 ke AWS Glue 5.0, lihat Migrasi dari AWS Glue 3.0 ke AWS Glue 5.0.
-
Untuk langkah-langkah migrasi yang terkait dengan AWS Glue 2.0 ke AWS Glue 5.0 dan daftar perbedaan migrasi antara AWS Glue versi 2.0 dan 4.0, lihat Migrasi dari AWS Glue 2.0 ke AWS Glue 5.0.
Konektor dan migrasi driver JDBC untuk AWS Glue 5.1
Untuk versi JDBC dan konektor data lake yang ditingkatkan, lihat:
Perubahan berikut berlaku untuk peningkatan versi OTF yang diidentifikasi dalam Lampiran D: Buka peningkatan format tabel AWS Glue 5.1.
Apache Hudi
Perhatikan perubahan berikut:
Mendukung akses baca dan tulis FTA pada tabel terdaftar Lake Formation.
Gunung Es Apache
Perhatikan perubahan berikut:
Mendukung format Iceberg versi 3. Fitur-fitur berikut didukung:
Pelacakan garis keturunan baris.
Vektor penghapusan. Pelajari lebih lanjut di posting blog
Kunci enkripsi tabel.
Dukungan nilai default untuk kolom.
Dukungan Spark-native FGAC menulis pada tabel AWS Lake Formation terdaftar.
Kompatibilitas Athena SQL - Tidak dapat membaca tabel Iceberg V3 yang dibuat oleh EMR Spark karena kesalahan:
GENERIC_INTERNAL_ERROR: Cannot read unsupported version 3
Danau Delta
Perhatikan perubahan berikut:
Mendukung akses baca dan tulis FTA pada tabel terdaftar Lake Formation.
Lampiran A: Peningkatan ketergantungan penting
Berikut ini adalah peningkatan ketergantungan:
| Dependensi | Versi dalam AWS Glue 5.1 | Versi dalam AWS Glue 5.0 | Versi dalam AWS Glue 4.0 | Versi dalam AWS Glue 3.0 | Versi di AWS Glue 2.0 | Versi dalam AWS Glue 1.0 |
|---|---|---|---|---|---|---|
| Java | 17 | 17 | 8 | 8 | 8 | 8 |
| Spark | 3.5.6 | 3.5.4 | 3.3.0-amzn-1 | 3.1.1-amzn-0 | 2.4.3 | 2.4.3 |
| Hadoop | 3.4.1 | 3.4.1 | 3.3.3-amzn-0 | 3.2.1-amzn-3 | 2.8.5-amzn-5 | 2.8.5-amzn-1 |
| Skala | 2.12.18 | 2.12.18 | 2.12 | 2.12 | 2.11 | 2.11 |
| Jackson | 2.15.2 | 2.15.2 | 2.12 | 2.12 | 2.11 | 2.11 |
| Hive | 2.3.9-amzn-4 | 2.3.9-amzn-4 | 2.3.9-amzn-2 | 2.3.7-amzn-4 | 1.2 | 1.2 |
| EMRFS | 2.73.0 | 2.69.0 | 2.54.0 | 2.46.0 | 2.38.0 | 2.30.0 |
| JSON4 | 3,7,0-M11 | 3,7,0-M11 | 3,7,0-M11 | 3.6.6 | 3.5.x | 3.5.x |
| Panah | 12.0.1 | 12.0.1 | 7.0.0 | 2.0.0 | 0.10.0 | 0.10.0 |
| AWS Glue Klien Katalog Data | 4.9.0 | 4.5.0 | 3.7.0 | 3.0.0 | 1.10.0 | N/A |
| AWS SDK untuk Java | 2.35.5 | 2.29.52 | 1.12 | 1.12 | ||
| Python | 3.11 | 3.11 | 3.10 | 3.7 | 2.7 & 3.6 | 2.7 & 3.6 |
| Boto | 1.40.61 | 1.34.131 | 1.26 | 1.18 | 1.12 | N/A |
| Konektor EMR DynamoDB | 5.7.0 | 5.6.0 | 4.16.0 |
Lampiran B: Peningkatan driver JDBC
Berikut ini adalah upgrade driver JDBC:
| Driver | Versi driver JDBC di 5.1 AWS Glue | Versi driver JDBC di 5.0 AWS Glue | Versi driver JDBC di 4.0 AWS Glue | Versi driver JDBC di 3.0 AWS Glue | Versi driver JDBC di versi sebelumnya AWS Glue |
|---|---|---|---|---|---|
| MySQL | 8.0.33 | 8.0.33 | 8.0.23 | 8.0.23 | 5.1 |
| Microsoft SQL Server | 10.2.0 | 10.2.0 | 9.4.0 | 7.0.0 | 6.1.0 |
| Database Oracle | 23.3.0.23.09 | 23.3.0.23.09 | 21.7 | 21.1 | 11.2 |
| PostgreSQL | 42.7.3 | 42.7.3 | 42.3.6 | 42.2.18 | 42.1.0 |
| Amazon Redshift |
pergeseran merah - jdbc42-2.1.0.29 |
pergeseran merah - jdbc42-2.1.0.29 |
pergeseran merah - jdbc42-2.1.0.16 |
pergeseran merah - jdbc41-1.2.12.1017 |
pergeseran merah - jdbc41-1.2.12.1017 |
| SAP Hana | 2.20.17 | 2.20.17 | 2.17.12 | ||
| Teradata | 20.00.00.33 | 20.00.00.33 | 20.00.00.06 |
Lampiran C: Peningkatan konektor
Berikut ini adalah peningkatan konektor:
| Driver | Versi konektor di AWS Glue 5.1 | Versi konektor di AWS Glue 5.0 | Versi konektor di AWS Glue 4.0 | Versi konektor di AWS Glue 3.0 |
|---|---|---|---|---|
| Konektor EMR DynamoDB | 5.7.0 | 5.6.0 | 4.16.0 | |
| Amazon Redshift | 6.4.2 | 6.4.0 | 6.1.3 | |
| OpenSearch | 1.2.0 | 1.2.0 | 1.0.1 | |
| MongoDB | 10.3.0 | 10.3.0 | 10.0.4 | 3.0.0 |
| Kepingan salju | 3.1.1 | 3.0.0 | 2.12.0 | |
| Google BigQuery | 0.32.2 | 0.32.2 | 0.32.2 | |
| AzureCosmos | 4.33.0 | 4.33.0 | 4.22.0 | |
| AzureSQL | 1.3.0 | 1.3.0 | 1.3.0 | |
| Vertica | 3.3.5 | 3.3.5 | 3.3.5 |
Lampiran D: Buka peningkatan format tabel
Berikut ini adalah peningkatan format tabel terbuka:
| OTF | Versi konektor di AWS Glue 5.1 | Versi konektor di AWS Glue 5.0 | Versi konektor di AWS Glue 4.0 | Versi konektor di AWS Glue 3.0 |
|---|---|---|---|---|
| Hudi | 1.0.2 | 0.15.0 | 0.12.1 | 0.10.1 |
| Danau Delta | 3.3.2 | 3.3.0 | 2.1.0 | 1.0.0 |
| Gunung es | 1.10.0 | 1.7.1 | 1.0.0 | 0.13.1 |