Menggunakan tabel Apache Iceberg - Amazon Athena

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan tabel Apache Iceberg

Athena mendukung kueri baca, perjalanan waktu, tulis, dan DDL untuk tabel Apache Iceberg yang menggunakan format Apache Parquet untuk data dan katalog untuk metastore mereka. AWS Glue

Apache Iceberg adalah format tabel terbuka untuk dataset analitik yang sangat besar. Iceberg mengelola koleksi besar file sebagai tabel, dan mendukung operasi danau data analitik modern seperti penyisipan tingkat catatan, pembaruan, penghapusan, dan kueri perjalanan waktu. Spesifikasi Iceberg memungkinkan evolusi tabel yang mulus seperti skema dan evolusi partisi dan dirancang untuk penggunaan yang dioptimalkan di Amazon S3. Iceberg juga membantu menjamin kebenaran data di bawah skenario penulisan bersamaan.

Untuk informasi lebih lanjut tentang Apache Iceberg, lihat https://iceberg.apache.org/.

Pertimbangan dan batasan

Dukungan Athena untuk tabel Iceberg memiliki pertimbangan dan batasan berikut:

  • Dukungan versi Iceberg - Athena mendukung Apache Iceberg versi 1.4.2.

  • Tabel dengan AWS Glue katalog saja — Hanya tabel Iceberg yang dibuat berdasarkan AWS Glue katalog berdasarkan spesifikasi yang ditentukan oleh implementasi katalog lem open source yang didukung dari Athena.

  • Dukungan penguncian meja AWS Glue hanya dengan - Tidak seperti implementasi katalog Glue open source, yang mendukung penguncian khusus plug-in, Athena hanya AWS Glue mendukung penguncian optimis. Menggunakan Athena untuk memodifikasi tabel Iceberg dengan implementasi kunci lainnya akan menyebabkan potensi kehilangan data dan merusak transaksi.

  • Format file yang didukung - Dukungan format file Iceberg di Athena tergantung pada versi mesin Athena, seperti yang ditunjukkan pada tabel berikut.

    Versi mesin Athena Parquet ORC Avro
    2 Ya Tidak Tidak
    3 Ya Ya Ya
  • Tabel Iceberg v2 — Athena hanya membuat dan beroperasi pada tabel Iceberg v2. Untuk perbedaan antara tabel v1 dan v2, lihat Format perubahan versi dalam dokumentasi Apache Iceberg.

  • Tampilan jenis waktu tanpa zona waktu - Waktu dan stempel waktu tanpa jenis zona waktu ditampilkan di UTC. Jika zona waktu tidak ditentukan dalam ekspresi filter pada kolom waktu, UTC digunakan.

  • Presisi data terkait stempel waktu — Meskipun Iceberg mendukung presisi mikrodetik untuk tipe data stempel waktu, Athena hanya mendukung presisi milidetik untuk stempel waktu dalam membaca dan menulis. Untuk data dalam kolom terkait waktu yang ditulis ulang selama operasi pemadatan manual, Athena hanya mempertahankan presisi milidetik.

  • Operasi yang tidak didukung - Operasi Athena berikut tidak didukung untuk tabel Iceberg.

  • Tampilan — Gunakan CREATE VIEW untuk membuat tampilan Athena seperti yang dijelaskan dalam. Bekerja dengan pandangan Jika Anda tertarik menggunakan spesifikasi tampilan Gunung Es untuk membuat tampilan, hubungi athena-feedback@amazon.com.

  • Perintah manajemen TTF tidak didukung di AWS Lake Formation - Meskipun Anda dapat menggunakan Lake Formation untuk mengelola izin akses baca untuk TransactionTable Format (TTF) seperti Apache Iceberg, Apache Hudi, dan Linux Foundation Delta Lake, Anda tidak dapat menggunakan Lake Formation untuk mengelola izin untuk operasi seperti,, atau dengan format tabel ini. VACUUM MERGE UPDATE OPTIMIZE Untuk informasi selengkapnya tentang integrasi Lake Formation dengan Athena, lihat Menggunakan AWS Lake Formation dengan Amazon Athena di AWS Lake Formation Panduan Pengembang.

  • Partisi dengan bidang bersarang - Partisi dengan bidang bersarang tidak didukung. Mencoba melakukannya menghasilkan pesan NOT_SUPPORTED: Partisi dengan bidang bersarang tidak didukung: column_name. nested_field_name.

  • Melewati objek S3 Glacier tidak didukung - Jika objek di tabel Apache Iceberg berada dalam kelas penyimpanan Amazon S3 Glacier, menyetel properti tabel agar tidak berpengaruh. read_restored_glacier_objects false

    Misalnya, Anda mengeluarkan perintah berikut:

    ALTER TABLE table_name SET TBLPROPERTIES ('read_restored_glacier_objects' = 'false')

    Untuk tabel Iceberg dan Delta Lake, perintah menghasilkan kesalahan Kunci properti tabel Tidak didukung: read_restored_glacier_objects. Untuk tabel Hudi, ALTER TABLE perintah tidak menghasilkan kesalahan, tetapi objek Amazon S3 Glacier masih belum dilewati. Menjalankan SELECT kueri setelah ALTER TABLE perintah terus mengembalikan semua objek.

Jika Anda ingin Athena mendukung fitur tertentu, kirim umpan balik ke athena-feedback@amazon.com.