Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Perilaku gunung es untuk tabel streaming
Gunakan topik ini untuk mempelajari cara streaming tabel memetakan data dari AWS Glue skema Schema Registry ke tabel Apache Iceberg, termasuk pemetaan tipe, penanganan lapangan, pemeliharaan tabel, dan spesifikasi format.
AWS Glue Skema Registry ke pemetaan tipe Iceberg
Tabel streaming memetakan tipe Skema JSON dari AWS Glue Schema Registry ke jenis Apache Iceberg sebagai berikut:
| Jenis Skema JSON | Jenis gunung es | Catatan |
|---|---|---|
string(polos) |
string |
Pemetaan string default. |
stringdengan format date-time |
timestamptz |
Stempel waktu dengan zona waktu. |
stringdengan format date |
date |
Tanggal kalender. |
stringdengan format time |
time |
Waktu dalam sehari. |
stringdengan format uuid |
uuid |
Pengidentifikasi unik universal. |
stringdengan pengkodean byte atau base64 |
binary |
Data biner dikodekan sebagai base64. |
integer(32-bit atau kurang) |
int |
Nilai dengan maksimum atau eksklusiveMaximum <= 2^31. |
integer(lebih besar dari 32-bit) |
long |
Nilai yang melebihi rentang 32-bit. |
number dengan multipleOf |
decimal |
Fixed-point desimal dengan presisi yang berasal dari MultipleOf. |
number(polos) |
double |
IEEE 754 titik mengambang presisi ganda. |
boolean |
boolean |
Benar atau salah. |
objectdengan properti bernama |
struct |
Bidang bernama dipetakan ke bidang struct. |
object dengan additionalProperties |
map |
Key-value peta dengan tombol string. |
array |
list |
Koleksi elemen yang dipesan. |
enum |
string |
Nilai enum disimpan sebagai string. |
Kolom yang diperlukan
Bidang yang tercantum dalam required array Skema JSON menjadi kolom wajib (tidak dapat dibatalkan) di tabel Iceberg. Jika bidang wajib hilang dari catatan, catatan dikirim ke antrian huruf mati.
Kolom kunci partisi
Tabel Anda harus menyertakan timestamptz kolom yang dapat digunakan untuk partisi berbasis waktu berdasarkan jam (TIME_HOURtransformasi). Dalam AWS Glue
skema Schema Registry, ini adalah string bidang dengan date-time format, yang memetakan ke timestamptz tipe Iceberg.
Kolom sumber yang direferensikan oleh partisi secara otomatis ditandai sebagai diperlukan, terlepas dari apakah itu muncul dalam required array skema. Rekaman yang tidak memiliki nilai kunci partisi dikirim ke antrean huruf mati.
Anda dapat mengaktifkan tugas kedaluwarsa catatan Amazon S3 Tables berdasarkan kolom partisi tabel. Untuk informasi selengkapnya, lihat Rekam kedaluwarsa.
Penanganan lapangan
Tabel streaming menangani ketidakcocokan antara catatan masuk dan skema tabel Iceberg sebagai berikut:
-
Bidang tambahan — Bidang yang ada dalam catatan tetapi tidak ditentukan dalam skema dijatuhkan dan tidak ditulis ke tabel Iceberg.
-
Bidang opsional yang hilang — Bidang opsional yang tidak ada dalam catatan ditulis seperti
nullpada tabel Iceberg. -
Bidang wajib hilang — Jika bidang wajib hilang dari catatan, seluruh catatan dikirim ke antrian huruf mati.
Batas bersarang
Tabel streaming mendukung kedalaman sarang maksimum 16 level untuk tipe kompleks (struktur, peta, dan daftar). Skema yang melebihi 16 tingkat sarang ditolak pada waktu pembuatan pengiriman.
Properti tabel terkelola
Tabel streaming mengelola properti tabel Iceberg secara otomatis. Properti ini diatur saat tabel dibuat dan tidak boleh dimodifikasi secara eksternal. Tabel streaming menggunakan properti ini untuk mengontrol perilaku penulisan, pemadatan, dan manajemen metadata.
Karena tabel dikelola oleh Amazon Kinesis Data Streams, Anda tidak boleh memperbarui skema, mengubah properti tabelnya, atau menulis atau menghapus datanya secara langsung. Anda dapat menanyakan tabel dengan layanan AWS analitik dan mesin kueri Apache Iceberg yang kompatibel. Untuk informasi selengkapnya tentang bucket tabel terkelola, lihat AWS Menggunakan bucket tabel terkelola di Panduan Pengguna Amazon S3.
Pemeliharaan Tabel S3
Saat mengirimkan ke tabel streaming di Apache Iceberg yang didukung oleh S3 Tables, operasi pemeliharaan berikut ditangani secara otomatis:
-
Pemadatan — File data kecil secara berkala dipadatkan menjadi file yang lebih besar untuk meningkatkan kinerja kueri dan mengurangi overhead metadata.
-
Kedaluwarsa snapshot — Snapshot kedaluwarsa dibersihkan untuk mendapatkan kembali penyimpanan metadata dan mengurangi ukuran metadata tabel.
-
Pembersihan file tanpa referensi — File data yatim piatu yang tidak lagi direferensikan oleh snapshot apa pun dihapus untuk mendapatkan kembali penyimpanan.
Rekam kedaluwarsa
Anda dapat mengonfigurasi periode kedaluwarsa catatan untuk tabel Iceberg Anda. Saat diaktifkan, Amazon S3 Tables secara otomatis menghapus catatan yang lebih tua dari periode penyimpanan yang ditentukan selama operasi pemeliharaan, berdasarkan kolom timestamptz partisi tabel. Untuk informasi selengkapnya, lihat Mengelola kedaluwarsa catatan Amazon S3 Tabel di Panduan Pengguna Amazon S3.
Spesifikasi format
Tabel streaming menggunakan spesifikasi format berikut untuk tabel Iceberg:
-
Versi format gunung es - v2
-
Versi spesifikasi gunung es - 1.9.0
-
Format file - Parket Apache