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 dan ETL pekerjaan Spark Anda ke 4.0. AWS Glue Ini juga menjelaskan fitur di AWS Glue 4.0 dan keuntungan menggunakannya.

Untuk menggunakan fitur ini dengan AWS Glue ETL pekerjaan Anda, pilih 4.0 Glue version saat membuat pekerjaan 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, seperti proses kueri adaptif, pembaca vektorEMR, dan pengocokan dan penggabungan partisi yang dioptimalkan.

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

  • Diperbarui dengan konektor dan driver Amazon Redshift baru. JDBC

  • Mengoptimalkan akses Amazon S3 dengan Sistem EMR File yang ditingkatkan (EMRFS) dan mengaktifkan penghasil keluaran yang dioptimalkan Amazon S3, 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.

  • DalamAPI, pilih GlueVersion parameter 4.0 dalam UpdateJobAPIoperasi.

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.

  • DalamAPI, pilih GlueVersion parameter 4.0 dalam CreateJobAPIoperasi.

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

  • 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 Glue 3.0 menggunakan Spark 3.1.1 EMR yang dioptimalkan Amazon, dan 4.0 AWS Glue menggunakan Spark 3.3.0 yang dioptimalkan AmazonEMR.

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

  • AWS Glue 4.0 juga dilengkapi pembaruan ke EMRFS dan Hadoop. Untuk versi tertentu, lihatLampiran A: Peningkatan ketergantungan penting.

  • ETLPekerjaan yang AWS SDK disediakan 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, lihatMigrasi konektor dan JDBC driver untuk AWS Glue 4.0.

  • AWS Enkripsi SDK ditingkatkan dari 1.x ke 2.x. AWS Glue pekerjaan yang menggunakan konfigurasi AWS Glue keamanan dan pekerjaan yang bergantung pada SDK ketergantungan 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 Enkripsi. AWS SDK

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 EMRFS dioptimalkan 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 Glue 2.0 menggunakan sumber terbuka Spark 2.4 dan AWS Glue 4.0 menggunakan Spark 3.3.0 yang EMR dioptimalkan Amazon.

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

    • Misalnya, Spark 3.3.0 tidak mengaktifkan Scala-untypedUDFs, tetapi Spark 2.4 mengizinkannya.

  • ETLPekerjaan yang AWS SDK disediakan sekarang ditingkatkan dari 1,11 menjadi 1,12.

  • AWS Glue 4.0 juga dilengkapi pembaruan, JDBC driver yang diperbaruiEMRFS, 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.

  • JARFile 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 Glue 4.0 menggunakan Spark 3.3. Dimulai dengan Spark 3.1, ada perubahan perilaku file loading/saving of timestamps from/to 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 CORRECTED opsi untuk membaca nilai datetime apa adanya; dan LEGACY opsi 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, lihatMigrasi konektor dan JDBC driver untuk AWS Glue 4.0.

  • AWS Enkripsi SDK ditingkatkan dari 1.x ke 2.x. AWS Glue pekerjaan yang menggunakan konfigurasi AWS Glue keamanan dan pekerjaan yang bergantung pada SDK ketergantungan 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 SDK jembatan AWS Enkripsi.

Lihat dokumentasi migrasi Spark:

Migrasi dari AWS Glue 1.0 ke 4.0 AWS Glue

Perhatikan perubahan berikut saat bermigrasi:

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

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

    • Misalnya, Spark 3.3.0 tidak mengaktifkan Scala-untypedUDFs, 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 Glue 4.0 tidak berjalan di ApacheYARN, jadi YARN pengaturan tidak berlaku.

  • AWS Glue 4.0 tidak memiliki Hadoop Distributed File System ()HDFS.

  • JARFile 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 Glue 4.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 Glue 4.0 belum mendukung transformasi pembelajaran mesin.

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

  • AWS Enkripsi SDK ditingkatkan dari 1.x ke 2.x. AWS Glue pekerjaan yang menggunakan konfigurasi AWS Glue keamanan dan pekerjaan yang bergantung pada SDK ketergantungan 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, AWS Enkripsi tidak SDK akan dapat mendekripsi ciphertext yang dienkripsi di bawah versi Enkripsi sebelumnya. AWS SDK

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

    • 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 Glue 0.9 menggunakan sumber terbuka Spark 2.2.1 dan 4.0 AWS Glue menggunakan Spark 3.3.0 yang dioptimalkan AmazonEMR.

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

    • Misalnya, Spark 3.3.0 tidak mengaktifkan Scala-untypedUDFs, 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 (# -32-ke-33). https://spark.apache.org/docs/latest/core-migration-guide.html 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 Glue 4.0 tidak berjalan di ApacheYARN, jadi YARN pengaturan tidak berlaku.

  • AWS Glue 4.0 tidak memiliki Hadoop Distributed File System ()HDFS.

  • JARFile 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 Glue 4.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 Glue 4.0 belum mendukung transformasi pembelajaran mesin.

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

  • AWS Enkripsi SDK ditingkatkan dari 1.x ke 2.x. AWS Glue pekerjaan yang menggunakan konfigurasi AWS Glue keamanan dan pekerjaan yang bergantung pada SDK ketergantungan 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, AWS Enkripsi tidak SDK akan dapat mendekripsi ciphertext yang dienkripsi di bawah versi Enkripsi sebelumnya. AWS SDK

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

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

Lihat dokumentasi migrasi Spark:

Migrasi konektor dan JDBC driver untuk AWS Glue 4.0

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

Hudi

  • Peningkatan SQL dukungan Spark:

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

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

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

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

    • Spark SQL dengan Hudi membutuhkan a 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.

Postgre SQL

  • Beberapa kerentanan (CVEs) 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 URI properti 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 MongoDB. API Untuk informasi selengkapnya, lihat APIsMongoDB, Operasi, dan Tipe Data yang Didukung.

Danau Delta

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

  • 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 SHOW COLUMNS untuk mengembalikan daftar kolom dalam tabel.

  • Support untuk DESCRIBEDETAILdi Scala dan Python DeltaTable 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 SQL perintah ini mengembalikan kosong DataFrame, sekarang mereka mengembalikan metrik DataFrame 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 REST katalog umum yang menggunakan komit berbasis perubahan untuk menyelesaikan konflik komit di sisi layanan.

  • AS OFsintaks untuk kueri perjalanan SQL waktu 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.

Saya SQL

Perubahan kecil.

Amazon Redshift

AWS Glue 4.0 memiliki konektor Amazon Redshift baru dengan driver baruJDBC. 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 Glue Klien Katalog Data 3.7.0 3.0.0 1.10.0 N/A
Python 3.10 3.7 2.7 & 3.6 2.7 & 3.6
Boto 1.26 1.18 1.12 N/A

Lampiran B: peningkatan driver JDBC

Berikut ini adalah upgrade JDBC driver:

Driver JDBCversi driver di AWS Glue versi sebelumnya JDBCversi driver di AWS Glue 3.0 JDBCversi driver di AWS Glue 4.0
Saya SQL 5.1 8.0.23 8.0.23
SQLServer Microsoft 6.1.0 7.0.0 9.4.0
Database Oracle 11.2 21.1 21.7
Postgre SQL 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