Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Migrasi AWS Glue untuk pekerjaan Spark ke versi 5.1 AWS Glue
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 5.1. AWS Glue Ini juga menjelaskan 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 dan keunggulan baru AWS Glue versi 5.1.
-
Pembaruan Apache Spark dari 3.5.4 di AWS Glue 5.0 ke 3.5.6 di 5.1. AWS Glue
-
Format Tabel Terbuka (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
-
Iceberg format versi 3.0 - Memperluas tipe data dan struktur metadata yang ada untuk menambahkan kemampuan baru. Untuk informasi lebih lanjut, lihat Spesifikasi Tabel Gunung Es
. -
Akses Tabel Penuh Hudi - Kontrol Akses Tabel Lengkap (FTA) untuk Apache Hudi di Apache Spark berdasarkan kebijakan Anda yang ditentukan dalam. Fitur ini memungkinkan operasi baca dan tulis dari pekerjaan AWS Glue ETL Anda pada tabel terdaftar ketika peran pekerjaan memiliki akses tabel penuh.
-
Dukungan kontrol akses halus (FGAC) asli Spark menggunakan - DDL/DML operasi (seperti CREATE, ALTER, DELETE, DROP) dengan kontrol akses berbutir halus untuk tabel Apache Hive, Apache Iceberg, dan Delta Lake yang terdaftar di.
-
Konteks audit untuk pekerjaan Spark - Konteks audit untuk pekerjaan AWS Glue ETL dengan pekerjaan yang diaktifkan akan tersedia untuk AWS Glue dan panggilan AWS Lake Formation API di log
Masalah dan Keterbatasan yang Diketahui
-
Dukungan terbatas untuk klausa tampilan SQL untuk pembuatan tampilan terwujud, penulisan ulang kueri, dan penyegaran tambahan. Rincian lebih lanjut dapat ditemukan di halaman dokumentasi fitur Iceberg Materialized Views
-
Hudi FTA menulis require using HoodieCredentialedHadoopStorage for credential vending selama eksekusi pekerjaan. Atur konfigurasi berikut saat menjalankan pekerjaan Hudi:
hoodie.storage.class=org.apache.spark.sql.hudi.storage.HoodieCredentialedHadoopStorage -
Dukungan penulisan Hudi FTA hanya berfungsi dengan konfigurasi Hudi default. Pengaturan Hudi khusus atau non-default mungkin tidak sepenuhnya didukung dan dapat mengakibatkan perilaku yang tidak terduga. Pengelompokan untuk tabel Hudi Merge-On-Read (MOR) juga tidak didukung dalam mode tulis FTA.
Melanggar perubahan
Perhatikan perubahan yang melanggar berikut:
-
Sistem file S3A telah menggantikan EMRFS sebagai konektor S3 default. Untuk informasi tentang cara bermigrasi, lihatMigrasi dari AWS Glue 5.0 ke AWS Glue 5.1.
Tindakan untuk bermigrasi ke 5.1 AWS Glue
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 3diGlue 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)diGlue version. -
Di AWS Glue Studio, pilih
Glue 5.1 - Supports Spark 3.5.6, Scala 2, Python 3diGlue 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, luncurkan server riwayat Spark yang ditingkatkan untuk penggunaan AWS GlueCloudFormation 5.1 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 ke 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:
-
Dalam 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 adalah.us-east-2Hal ini dapat menyebabkan masalah, seperti kesalahan batas waktu unggah S3, terutama untuk pekerjaan VPC. Untuk mengurangi masalah yang disebabkan oleh perubahan ini, atur konfigurasispark.hadoop.fs.s3a.endpoint.regionSpark saat menggunakan sistem file S3A di 5.1. AWS Glue -
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:
Migrasi dari AWS Glue Versi Lama ke 5.1 AWS Glue
-
Untuk 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 migrasi yang terkait dengan AWS Glue 3.0 ke AWS Glue 5.0, lihat Memigrasi dari AWS Glue 3.0 ke AWS Glue 5.0.
-
Untuk 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 5.1 AWS Glue
Untuk versi JDBC dan konektor data lake yang ditingkatkan, lihat:
Perubahan berikut berlaku untuk upgrade versi OTF yang diidentifikasi Lampiran D: Upgrade format tabel terbuka untuk AWS Glue 5.1.
Apache Hudi
Perhatikan perubahan berikut:
Support akses baca dan tulis FTA pada tabel terdaftar Lake Formation.
Gunung Es Apache
Perhatikan perubahan berikut:
Dukungan format Iceberg versi 3. Fitur-fitur berikut didukung:
Transformasi multi-argumen untuk partisi dan penyortiran.
Pelacakan Garis Silsilah Baris.
Vektor penghapusan. Pelajari lebih lanjut di posting blog
Kunci enkripsi tabel.
Support Spark-native FGAC menulis pada tabel terdaftar.
Athena SQL kompatibilitas - 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:
Support 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 dalam 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 for 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 |
redshift-jdbc42-2.1.0.29 |
redshift-jdbc42-2.1.0.29 |
redshift-jdbc42-2.1.0.16 |
redshift-jdbc41-1.2.12.1017 |
redshift-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 upgrade 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: Upgrade format tabel terbuka
Berikut ini adalah upgrade 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 |