Migrasi AWS Glue untuk pekerjaan Spark ke versi 5.1 AWS Glue - AWS Glue

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.

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:

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 3 diGlue version.

  • Di API, pilih GlueVersion parameter 5.1 dalam operasi UpdateJobAPI.

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 3 diGlue version.

  • Di API, pilih GlueVersion parameter 5.1 dalam operasi CreateJobAPI.

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.endpoint dan tidak spark.hadoop.fs.s3a.endpoint.region disetel, wilayah default yang digunakan oleh S3A adalah. us-east-2 Hal ini dapat menyebabkan masalah, seperti kesalahan batas waktu unggah S3, terutama untuk pekerjaan VPC. Untuk mengurangi masalah yang disebabkan oleh perubahan ini, atur konfigurasi spark.hadoop.fs.s3a.endpoint.region Spark 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

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