Migrasi AWS Glue untuk pekerjaan Spark ke versi 4.0 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 4.0 AWS Glue

Topik ini menjelaskan perubahan antara AWS Glue versi 0.9, 1.0, 2.0, dan 3.0 untuk memungkinkan Anda memigrasikan aplikasi Spark dan pekerjaan ETL ke 4.0. AWS Glue Ini juga menjelaskan fitur di AWS Glue 4.0 dan keuntungan menggunakannya.

Untuk menggunakan fitur ini dengan tugas ETL AWS Glue Anda, pilih 4.0 untuk Glue version saat membuat tugas Anda.

Fitur baru yang didukung

Bagian ini menjelaskan fitur dan keunggulan baru AWS Glue versi 4.0.

  • Ini didasarkan pada Apache Spark 3.3.0, tetapi mencakup pengoptimalan di, AWS Glue dan Amazon EMR, seperti proses kueri adaptif, pembaca vektor, dan pengocokan dan penggabungan partisi yang dioptimalkan.

  • Driver JDBC yang ditingkatkan untuk semua sumber AWS Glue asli termasuk MySQL, Microsoft SQL Server, Oracle, PostgreSQL, MongoDB, dan pustaka dan dependensi Spark yang ditingkatkan yang dibawa oleh Spark 3.3.0.

  • Diperbarui dengan konektor Amazon Redshift baru dan driver JDBC.

  • Akses Amazon S3 yang dioptimalkan dengan Sistem File EMR (EMRFS) yang ditingkatkan dan mengaktifkan penghasil keluaran Amazon S3 yang dioptimalkan, secara default.

  • Akses Katalog Data yang Dioptimalkan dengan indeks partisi, predikat pushdown, daftar partisi, dan klien metastore Hive yang ditingkatkan.

  • Integrasi dengan Lake Formation untuk tabel katalog yang diatur dengan penyaringan tingkat sel dan transaksi data lake.

  • Mengurangi latensi startup untuk meningkatkan waktu penyelesaian pekerjaan secara keseluruhan dan interaktivitas.

  • Pekerjaan Spark ditagih dalam kenaikan 1 detik dengan durasi penagihan minimum 10x lebih rendah—dari minimum 10 menit hingga minimum 1 menit.

  • Dukungan asli untuk kerangka kerja danau data terbuka dengan Apache Hudi, Delta Lake, dan Apache Iceberg.

  • Dukungan asli untuk Plugin Penyimpanan Cloud Shuffle berbasis Amazon S3 (plugin Apache Spark) untuk menggunakan Amazon S3 untuk pengocokan dan kapasitas penyimpanan elastis.

Peningkatan utama dari Spark 3.1.1 ke Spark 3.3.0

Perhatikan penyempurnaan berikut:

Perubahan penting lainnya

Perhatikan perubahan berikut:

Tindakan untuk bermigrasi ke 4.0 AWS Glue

Untuk pekerjaan yang ada, ubah Glue version dari versi sebelumnya ke Glue 4.0 dalam konfigurasi pekerjaan.

  • Di AWS Glue Studio, pilih Glue 4.0 - Supports Spark 3.3, Scala 2, Python 3 diGlue version.

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

Untuk pekerjaan baru, pilih Glue 4.0 kapan Anda membuat pekerjaan.

  • Di konsol, pilih Spark 3.3, Python 3 (Glue Version 4.0) or Spark 3.3, Scala 2 (Glue Version 3.0) diGlue version.

  • Di AWS Glue Studio, pilih Glue 4.0 - Supports Spark 3.3, Scala 2, Python 3 diGlue version.

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

Untuk melihat log peristiwa Spark AWS Glue 4.0 yang berasal dari AWS Glue 2.0 atau sebelumnya, luncurkan server riwayat Spark yang ditingkatkan untuk AWS Glue 4.0 menggunakan AWS CloudFormation atau Docker.

Daftar periksa migrasi

Tinjau daftar periksa ini untuk migrasi:

catatan

Untuk item daftar periksa yang terkait dengan AWS Glue 3.0, lihat. Daftar cek migrasi

  • Apakah pustaka Python eksternal pekerjaan Anda bergantung pada Python 2.7/3.6?

    • Perbarui pustaka dependen dari Python 2.7/3.6 ke Python 3.10 karena Spark 3.3.0 sepenuhnya menghapus dukungan Python 2.7 dan 3.6.

Migrasi dari AWS Glue 3.0 ke AWS Glue 4.0

Perhatikan perubahan berikut saat bermigrasi:

  • Semua parameter pekerjaan yang ada dan fitur utama yang ada di AWS Glue 3.0 akan ada di AWS Glue 4.0.

  • AWS Glue3.0 menggunakan Spark 3.1.1 yang dioptimalkan oleh Amazon EMR, dan AWS Glue 4.0 menggunakan Spark 3.3.0 yang dioptimalkan oleh Amazon EMR.

    Beberapa perubahan Spark saja mungkin memerlukan revisi skrip Anda untuk memastikan bahwa fitur yang dihapus tidak direferensikan.

  • AWS Glue4.0 juga dilengkapi pembaruan untuk EMRFS dan Hadoop. Untuk versi tertentu, lihatLampiran A: Peningkatan ketergantungan penting.

  • AWSSDK yang disediakan dalam pekerjaan ETL sekarang ditingkatkan dari 1,11 menjadi 1,12.

  • Semua pekerjaan Python akan menggunakan Python versi 3.10. Sebelumnya, Python 3.7 digunakan di 3.0. AWS Glue

    Akibatnya, beberapa pymodules yang dibawa out-of-the-box oleh AWS Glue ditingkatkan.

  • Log4j telah ditingkatkan ke Log4j2.

  • Untuk memigrasikan konektor tertentu, lihatKonektor dan migrasi driver JDBC untuk 4.0 AWS Glue.

  • AWSEncryption SDK ditingkatkan dari 1.x ke 2.x. AWS Gluepekerjaan yang menggunakan konfigurasi AWS Glue keamanan dan pekerjaan yang bergantung pada dependensi SDK AWS Enkripsi yang disediakan dalam runtime terpengaruh. Lihat petunjuk untuk migrasi AWS Glue pekerjaan.

    Anda dapat dengan aman memutakhirkan pekerjaan AWS Glue 2.0/3.0 ke pekerjaan AWS Glue 4.0 karena AWS Glue 2.0/3.0 sudah berisi versi jembatan SDK AWS Enkripsi.

Lihat dokumentasi migrasi Spark:

Migrasi dari AWS Glue 2.0 ke 4.0 AWS Glue

Perhatikan perubahan berikut saat bermigrasi:

catatan

Untuk langkah-langkah migrasi yang terkait dengan AWS Glue 3.0, lihatMigrasi dari AWS Glue 3.0 ke AWS Glue 4.0.

  • Semua parameter pekerjaan yang ada dan fitur utama yang ada di AWS Glue 2.0 akan ada di AWS Glue 4.0.

  • Komitter yang dioptimalkan EMRFS S3 untuk menulis data Parket ke Amazon S3 diaktifkan secara default sejak 3.0. AWS Glue Namun, Anda masih dapat menonaktifkannya dengan menyetel --enable-s3-parquet-optimized-committer kefalse.

  • AWS Glue2.0 menggunakan sumber terbuka Spark 2.4 dan AWS Glue 4.0 menggunakan Spark 3.3.0 yang dioptimalkan oleh Amazon EMR.

    • Beberapa perubahan Spark saja mungkin memerlukan revisi skrip Anda untuk memastikan bahwa fitur yang dihapus tidak direferensikan.

    • Misalnya, Spark 3.3.0 tidak mengaktifkan UDF yang tidak diketik SCALA, tetapi Spark 2.4 mengizinkannya.

  • AWSSDK yang disediakan dalam pekerjaan ETL sekarang ditingkatkan dari 1,11 menjadi 1,12.

  • AWS Glue4.0 juga dilengkapi pembaruan untuk EMRFS, driver JDBC yang diperbarui, dan inklusi pengoptimalan tambahan ke Spark sendiri yang disediakan oleh. AWS Glue

  • Scala diperbarui ke 2.12 dari 2.11, dan Scala 2.12 tidak kompatibel dengan Scala 2.11.

  • Python 3.10 adalah versi default yang digunakan untuk skrip Python, karena 2.0 AWS Glue hanya menggunakan Python 3.7 dan 2.7.

    • Python 2.7 tidak didukung dengan Spark 3.3.0. Pekerjaan apa pun yang meminta Python 2 dalam konfigurasi pekerjaan akan gagal dengan file. IllegalArgumentException

    • Mekanisme baru untuk menginstal modul Python tambahan tersedia sejak AWS Glue 2.0.

  • Beberapa pembaruan ketergantungan, disorot dalamLampiran A: Peningkatan ketergantungan penting.

  • File JAR tambahan apa pun yang disediakan dalam pekerjaan AWS Glue 2.0 yang ada mungkin membawa dependensi yang bertentangan karena ada peningkatan di beberapa dependensi di 4.0 dari 2.0. Anda dapat menghindari konflik classpath di AWS Glue 4.0 dengan parameter --user-jars-first AWS Glue pekerjaan.

  • AWS Glue4.0 menggunakan Spark 3.3. Dimulai dengan Spark 3.1, terjadi perubahan perilaku memuat/menyimpan stempel waktu dari/ke file parket. Untuk detail selengkapnya, lihat Memutakhirkan dari Spark SQL 3.0 ke 3.1.

    Kami merekomendasikan untuk mengatur parameter berikut saat membaca/menulis data parket yang berisi kolom stempel waktu. Menyetel parameter tersebut dapat menyelesaikan masalah ketidakcocokan kalender yang terjadi selama peningkatan Spark 2 ke Spark 3, untuk AWS Glue Dynamic Frame dan Spark Data Frame. Gunakan opsi CORRECTED untuk membaca nilai datetime apa adanya; dan opsi LEGACY untuk rebase nilai datetime sehubungan dengan perbedaan kalender selama membaca.

    - Key: --conf - Value: spark.sql.legacy.parquet.int96RebaseModeInRead=[CORRECTED|LEGACY] --conf spark.sql.legacy.parquet.int96RebaseModeInWrite=[CORRECTED|LEGACY] --conf spark.sql.legacy.parquet.datetimeRebaseModeInRead=[CORRECTED|LEGACY]
  • Untuk memigrasikan konektor tertentu, lihatKonektor dan migrasi driver JDBC untuk 4.0 AWS Glue.

  • AWSEncryption SDK ditingkatkan dari 1.x ke 2.x. AWS Gluepekerjaan yang menggunakan konfigurasi AWS Glue keamanan dan pekerjaan yang bergantung pada dependensi SDK AWS Enkripsi yang disediakan dalam runtime terpengaruh. Lihat petunjuk ini untuk migrasi AWS Glue pekerjaan:

    • Anda dapat dengan aman memutakhirkan pekerjaan AWS Glue 2.0 ke pekerjaan AWS Glue 4.0 karena AWS Glue 2.0 sudah berisi versi jembatan SDK AWS Enkripsi.

Lihat dokumentasi migrasi Spark:

Migrasi dari AWS Glue 1.0 ke 4.0 AWS Glue

Perhatikan perubahan berikut saat bermigrasi:

  • AWS Glue1.0 menggunakan sumber terbuka Spark 2.4 dan AWS Glue 4.0 menggunakan Spark 3.3.0 yang dioptimalkan oleh Amazon EMR.

    • Beberapa perubahan Spark saja mungkin memerlukan revisi skrip Anda untuk memastikan bahwa fitur yang dihapus tidak direferensikan.

    • Misalnya, Spark 3.3.0 tidak mengaktifkan UDF yang tidak diketik SCALA, tetapi Spark 2.4 mengizinkannya.

  • Semua pekerjaan di AWS Glue 4.0 akan dijalankan dengan waktu startup yang ditingkatkan secara signifikan. Pekerjaan Spark akan ditagih dalam kenaikan 1 detik dengan durasi penagihan minimum 10x lebih rendah karena latensi startup akan meningkat dari maksimum 10 menit menjadi maksimum 1 menit.

  • Perilaku logging telah berubah secara signifikan di AWS Glue 4.0, Spark 3.3.0 memiliki persyaratan minimum Log4j2.

  • Beberapa pembaruan ketergantungan, disorot dalam lampiran.

  • Scala juga diperbarui ke 2.12 dari 2.11, dan Scala 2.12 tidak kompatibel dengan Scala 2.11.

  • Python 3.10 juga merupakan versi default yang digunakan untuk skrip Python, karena 0.9 AWS Glue hanya menggunakan Python 2.

    Python 2.7 tidak didukung dengan Spark 3.3.0. Pekerjaan apa pun yang meminta Python 2 dalam konfigurasi pekerjaan akan gagal dengan file. IllegalArgumentException

  • Mekanisme baru untuk menginstal modul Python tambahan melalui pip tersedia sejak 2.0. AWS Glue Untuk informasi selengkapnya, lihat Menginstal modul Python tambahan dengan pip di 2.0+. AWS Glue

  • AWS Glue4.0 tidak berjalan di Apache YARN, jadi pengaturan YARN tidak berlaku.

  • AWS Glue4.0 tidak memiliki Hadoop Distributed File System (HDFS).

  • File JAR tambahan apa pun yang disediakan dalam pekerjaan AWS Glue 1.0 yang ada mungkin membawa dependensi yang bertentangan karena ada peningkatan di beberapa dependensi di 4.0 dari 1.0. Kami mengaktifkan AWS Glue 4.0 dengan parameter --user-jars-first AWS Glue pekerjaan secara default, untuk menghindari masalah ini.

  • AWS Glue4.0 mendukung penskalaan otomatis. Oleh karena itu, ExecutorAllocationManager metrik akan tersedia saat penskalaan otomatis diaktifkan.

  • Dalam pekerjaan AWS Glue versi 4.0, Anda menentukan jumlah pekerja dan jenis pekerja, tetapi tidak menentukanmaxCapacity.

  • AWS Glue4.0 belum mendukung transformasi pembelajaran mesin.

  • Untuk memigrasikan konektor tertentu, lihatKonektor dan migrasi driver JDBC untuk 4.0 AWS Glue.

  • AWSEncryption SDK ditingkatkan dari 1.x ke 2.x. AWS Gluepekerjaan yang menggunakan konfigurasi AWS Glue keamanan dan pekerjaan yang bergantung pada dependensi SDK AWS Enkripsi yang disediakan dalam runtime terpengaruh. Lihat petunjuk ini untuk migrasi AWS Glue pekerjaan.

    • Anda tidak dapat memigrasikan pekerjaan AWS Glue 0.9/1.0 ke pekerjaan AWS Glue 4.0 secara langsung. Ini karena ketika memutakhirkan langsung ke versi 2.x atau yang lebih baru dan mengaktifkan semua fitur baru dengan segera, SDK AWS Enkripsi tidak akan dapat mendekripsi ciphertext yang dienkripsi di bawah versi SDK Enkripsi sebelumnya. AWS

    • Untuk memutakhirkan dengan aman, pertama-tama kami sarankan Anda bermigrasi ke pekerjaan AWS Glue 2.0/3.0 yang berisi versi jembatan SDK AWS Enkripsi. Jalankan pekerjaan sekali untuk menggunakan versi jembatan AWS Encryption SDK.

    • Setelah selesai, Anda dapat dengan aman memigrasikan pekerjaan AWS Glue 2.0/3.0 ke 4.0. AWS Glue

Lihat dokumentasi migrasi Spark:

Migrasi dari AWS Glue 0,9 ke 4,0 AWS Glue

Perhatikan perubahan berikut saat bermigrasi:

  • AWS Glue0.9 menggunakan Spark 2.2.1 dan AWS Glue 4.0 open-source menggunakan Spark 3.3.0 yang dioptimalkan oleh Amazon EMR.

    • Beberapa perubahan Spark saja mungkin memerlukan revisi skrip Anda untuk memastikan bahwa fitur yang dihapus tidak direferensikan.

    • Misalnya, Spark 3.3.0 tidak mengaktifkan UDF yang tidak diketik Scala, tetapi Spark 2.2 mengizinkannya.

  • Semua pekerjaan di AWS Glue 4.0 akan dijalankan dengan waktu startup yang ditingkatkan secara signifikan. Pekerjaan Spark akan ditagih dalam kenaikan 1 detik dengan durasi penagihan minimum 10x lebih rendah karena latensi startup akan meningkat dari maksimum 10 menit menjadi maksimum 1 menit.

  • Perilaku logging telah berubah secara signifikan sejak AWS Glue 4.0, Spark 3.3.0 memiliki persyaratan minimum Log4j2 seperti yang disebutkan di sini (https://spark.apache.org/docs/latest/ .html# -32-to-33). core-migration-guide upgrading-from-core

  • Beberapa pembaruan ketergantungan, disorot dalam lampiran.

  • Scala juga diperbarui ke 2.12 dari 2.11, dan Scala 2.12 tidak kompatibel dengan Scala 2.11.

  • Python 3.10 juga merupakan versi default yang digunakan untuk skrip Python, karena 0.9 AWS Glue hanya menggunakan Python 2.

    • Python 2.7 tidak didukung dengan Spark 3.3.0. Pekerjaan apa pun yang meminta Python 2 dalam konfigurasi pekerjaan akan gagal dengan file. IllegalArgumentException

    • Mekanisme baru untuk menginstal modul Python tambahan melalui pip tersedia.

  • AWS Glue4.0 tidak berjalan di Apache YARN, jadi pengaturan YARN tidak berlaku.

  • AWS Glue4.0 tidak memiliki Hadoop Distributed File System (HDFS).

  • File JAR tambahan apa pun yang disediakan dalam AWS Glue 0.9 pekerjaan yang ada mungkin membawa dependensi yang bertentangan karena ada peningkatan di beberapa dependensi di 3.0 dari 0.9. Anda dapat menghindari konflik classpath di AWS Glue 3.0 dengan parameter --user-jars-first AWS Glue pekerjaan.

  • AWS Glue4.0 mendukung penskalaan otomatis. Oleh karena itu, ExecutorAllocationManager metrik akan tersedia saat penskalaan otomatis diaktifkan.

  • Dalam pekerjaan AWS Glue versi 4.0, Anda menentukan jumlah pekerja dan jenis pekerja, tetapi tidak menentukanmaxCapacity.

  • AWS Glue4.0 belum mendukung transformasi pembelajaran mesin.

  • Untuk memigrasikan konektor tertentu, lihatKonektor dan migrasi driver JDBC untuk 4.0 AWS Glue.

  • AWSEncryption SDK ditingkatkan dari 1.x ke 2.x. AWS Gluepekerjaan yang menggunakan konfigurasi AWS Glue keamanan dan pekerjaan yang bergantung pada dependensi SDK AWS Enkripsi yang disediakan dalam runtime akan terpengaruh. Lihat petunjuk ini untuk migrasi AWS Glue pekerjaan.

    • Anda tidak dapat memigrasikan pekerjaan AWS Glue 0.9/1.0 ke pekerjaan AWS Glue 4.0 secara langsung. Ini karena ketika memutakhirkan langsung ke versi 2.x atau yang lebih baru dan mengaktifkan semua fitur baru dengan segera, SDK AWS Enkripsi tidak akan dapat mendekripsi ciphertext yang dienkripsi di bawah versi SDK Enkripsi sebelumnya. AWS

    • Untuk memutakhirkan dengan aman, pertama-tama kami sarankan Anda bermigrasi ke pekerjaan AWS Glue 2.0/3.0 yang berisi versi jembatan SDK AWS Enkripsi. Jalankan pekerjaan sekali untuk menggunakan versi jembatan AWS Encryption SDK.

    • Setelah selesai, Anda dapat dengan aman memigrasikan pekerjaan AWS Glue 2.0/3.0 ke 4.0. AWS Glue

Lihat dokumentasi migrasi Spark:

Konektor dan migrasi driver JDBC untuk 4.0 AWS Glue

Untuk versi JDBC dan konektor data lake yang ditingkatkan, lihat:

Hudi

  • Peningkatan dukungan Spark SQL:

    • Melalui Call Procedure perintah, ada dukungan tambahan untuk upgrade, downgrade, bootstrap, clean, dan repair. Create/Drop/Show/Refresh Indexsintaks dimungkinkan di Spark SQL.

    • Kesenjangan kinerja telah ditutup antara penggunaan melalui Spark DataSource sebagai lawan dari Spark SQL. Datasource menulis di masa lalu dulunya lebih cepat dari SQL.

    • Semua generator kunci bawaan mengimplementasikan operasi API khusus SPARK yang lebih berkinerja tinggi.

    • Mengganti transformasi UDF dalam insert operasi massal dengan transformasi RDD untuk mengurangi biaya penggunaan. SerDe

    • Spark SQL dengan Hudi membutuhkan primaryKey untuk ditentukan oleh tblproperites atau opsi dalam pernyataan SQL. Untuk operasi pembaruan dan penghapusan, preCombineField diperlukan juga.

  • Setiap tabel Hudi yang dibuat sebelum versi 0.10.0 tanpa primaryKey perlu dibuat ulang dengan primaryKey bidang sejak versi 0.10.0.

PostgreSQL

  • Beberapa kerentanan (CVE) telah diatasi.

  • Java 8 didukung secara native.

  • Jika pekerjaan menggunakan Array Array, dengan pengecualian array byte, skenario ini dapat diperlakukan sebagai array multidimensi.

MongoDB

  • Konektor MongoDB saat ini mendukung Spark versi 3.1 atau yang lebih baru dan MongoDB versi 4.0 atau yang lebih baru.

  • Karena peningkatan konektor, beberapa nama properti berubah. Misalnya, nama properti URI diubah menjadiconnection.uri. Untuk informasi lebih lanjut tentang opsi saat ini, lihat blog MongoDB Spark Connector.

  • Menggunakan MongoDB 4.0 yang dihosting oleh Amazon DocumentDB memiliki beberapa perbedaan fungsional. Untuk informasi lebih lanjut, lihat topik-topik ini:

  • Opsi “partisi” dibatasi untukShardedPartitioner,PaginateIntoPartitionsPartitioner, dan. SinglePartitionPartitioner Itu tidak dapat menggunakan default SamplePartitioner dan PaginateBySizePartitioner untuk Amazon DocumentDB karena operator panggung tidak mendukung API MongoDB. Untuk informasi selengkapnya, lihat API, Operasi, dan Jenis Data MongoDB yang Didukung.

Danau Delta

  • Delta Lake sekarang mendukung perjalanan waktu di SQL untuk menanyakan data lama dengan mudah. Dengan pembaruan ini, perjalanan waktu sekarang tersedia baik di Spark SQL maupun melalui API. DataFrame Support telah ditambahkan untuk versi TIMESTAMP saat ini di SQL.

  • Spark 3.3 memperkenalkan Trigger. AvailableNowuntuk menjalankan kueri streaming sebagai setara dengan Trigger.Once untuk kueri batch. Dukungan ini juga tersedia saat menggunakan tabel Delta sebagai sumber streaming.

  • Support untuk SHOW COLUMNS untuk mengembalikan daftar kolom dalam tabel.

  • Support untuk DESKRIPTION DETAIL di Scala dan DeltaTable Python API. Ini mengambil informasi rinci tentang tabel Delta menggunakan DeltaTable API atau Spark SQL.

  • Support untuk mengembalikan metrik operasi dari perintah SQL Delete, Merge, dan Update. Sebelumnya perintah SQL ini mengembalikan kosong DataFrame, sekarang mereka mengembalikan DataFrame dengan metrik yang berguna tentang operasi yang dilakukan.

  • Optimalkan peningkatan kinerja:

    • Atur opsi konfigurasi spark.databricks.delta.optimize.repartition.enabled=true untuk digunakan repartition(1) alih-alih coalesce(1) dalam perintah Optimalkan untuk kinerja yang lebih baik saat memadatkan banyak file kecil.

    • Peningkatan kinerja dengan menggunakan pendekatan berbasis antrian untuk memparalelkan pekerjaan pemadatan.

  • Perubahan penting lainnya:

Gunung Es Apache

  • Menambahkan beberapa peningkatan kinerja untuk perencanaan pemindaian dan kueri Spark.

  • Menambahkan klien katalog REST umum yang menggunakan komit berbasis perubahan untuk menyelesaikan konflik komit di sisi layanan.

  • AS OFsintaks untuk kueri perjalanan waktu SQL didukung.

  • Ditambahkan merge-on-read dukungan untuk MERGE dan UPDATE query.

  • Ditambahkan dukungan untuk menulis ulang partisi menggunakan Z-order.

  • Menambahkan spesifikasi dan implementasi untuk Puffin, format untuk statistik besar dan gumpalan indeks, seperti sketsa Theta atau filter mekar.

  • Menambahkan antarmuka baru untuk mengkonsumsi data secara bertahap (baik pemindaian append dan changelog).

  • Menambahkan dukungan untuk operasi massal dan pembacaan berkisar ke antarmuka FileIO.

  • Menambahkan lebih banyak tabel metadata untuk menampilkan file hapus di pohon metadata.

  • Perilaku drop table berubah. Di Iceberg 0.13.1, menjalankan DROP TABLE menghapus tabel dari katalog dan menghapus isi tabel juga. Di Iceberg 1.0.0, DROP TABLE hanya menghapus tabel dari katalog. Untuk menghapus isi tabel gunakanDROP TABLE PURGE.

  • Pembacaan vektor parket diaktifkan secara default di Iceberg 1.0.0. Jika Anda ingin menonaktifkan pembacaan vektor, setel ke. read.parquet.vectorization.enabled false

Oracle

Perubahan kecil.

MySQL

Perubahan kecil.

Amazon Redshift

AWS Glue4.0 memiliki konektor Amazon Redshift baru dengan driver JDBC baru. Untuk informasi tentang penyempurnaan dan cara bermigrasi dari AWS Glue versi sebelumnya, lihat. Koneksi Redshift

Lampiran A: Peningkatan ketergantungan penting

Berikut ini adalah peningkatan ketergantungan:

Dependensi Versi dalam AWS Glue 4.0 Versi dalam AWS Glue 3.0 Versi dalam AWS Glue 2.0 Versi dalam AWS Glue 1.0
Spark 3.3.0-amzn-1 3.1.1-amzn-0 2.4.3 2.4.3
Hadoop 3.3.3-amzn-0 3.2.1-amzn-3 2.8.5-amzn-5 2.8.5-amzn-1
Skala 2.12 2.12 2.11 2.11
Jackson 2.13.3 2.10.x 2.7.x 2.7.x
Hive 2.3.9-amzn-2 2.3.7-amzn-4 1.2 1.2
EMRFS 2.54.0 2.46.0 2.38.0 2.30.0
JSON4 3.7.0-M11 3.6.6 3.5.x 3.5.x
Panah 7.0.0 2.0.0 0.10.0 0.10.0
AWS GlueKlien Katalog Data 3.7.0 3.0.0 1.10.0 T/A
Python 3.10 3.7 2.7 & 3.6 2.7 & 3.6
Boto 1.26 1.18 1.12 T/A

Lampiran B: Peningkatan driver JDBC

Berikut ini adalah upgrade driver JDBC:

Driver Versi driver JDBC di versi sebelumnya AWS Glue Versi driver JDBC di 3.0 AWS Glue Versi driver JDBC di 4.0 AWS Glue
MySQL 5.1 8.0.23 8.0.23
Microsoft SQL Server 6.1.0 7.0.0 9.4.0
Database Oracle 11.2 21.1 21.7
PostgreSQL 42.1.0 42.2.18 42.3.6
MongoDB 2.0.0 4.0.0 4.7.2
Amazon Redshift

redshift-jdbc41-1.2.12.1017

redshift-jdbc41-1.2.12.1017

redshift-jdbc42-2.1.0.16

Lampiran C: Peningkatan konektor

Berikut ini adalah upgrade konektor:

Driver Versi konektor di AWS Glue 3.0 Versi konektor di AWS Glue 4.0
MongoDB 3.0.0 10.0.4
Hudi 0.10.1 0.12.1
Danau Delta 1.0.0 2.1.0
Gunung es 0.13.1 1.0.0
DynamoDB 1.11 1.12