

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

# Bekerja dengan Apache Iceberg V3
<a name="working-with-apache-iceberg-v3"></a>

Apache Iceberg Version 3 (V3) adalah versi terbaru dari spesifikasi format tabel Apache Iceberg, memperkenalkan kemampuan canggih untuk membangun danau data skala petabyte dengan peningkatan kinerja dan pengurangan overhead operasional. V3 mengatasi kemacetan kinerja umum yang dihadapi dengan V2, terutama seputar pembaruan batch dan penghapusan kepatuhan.

AWS menyediakan dukungan untuk vektor penghapusan dan garis keturunan baris seperti yang didefinisikan dalam spesifikasi Apache Iceberg Version 3 (V3). [https://docs.aws.amazon.com/glue/latest/dg/catalog-and-crawler.html](https://docs.aws.amazon.com/glue/latest/dg/catalog-and-crawler.html)

## Fitur Utama di V3
<a name="key-features-v3"></a>

Vektor Penghapusan  
Menggantikan file penghapusan posisi V2 dengan format biner efisien yang disimpan sebagai file Puffin. Ini menghilangkan amplifikasi tulis dari pembaruan batch acak dan penghapusan kepatuhan GDPR, secara signifikan mengurangi overhead pemeliharaan data baru. Organizations yang memproses pembaruan frekuensi tinggi akan melihat peningkatan langsung dalam kinerja penulisan dan mengurangi biaya penyimpanan dari lebih sedikit file kecil.

Garis keturunan baris  
Memungkinkan pelacakan perubahan yang tepat di tingkat baris. Sistem hilir Anda dapat memproses perubahan secara bertahap, mempercepat jalur data, dan mengurangi biaya komputasi untuk alur kerja pengambilan data perubahan (CDC). Kemampuan bawaan ini menghilangkan kebutuhan akan implementasi pelacakan perubahan khusus.

## Kompatibilitas Versi
<a name="version-compatibility"></a>

V3 mempertahankan kompatibilitas mundur dengan tabel V2. AWS layanan mendukung tabel V2 dan V3 secara bersamaan, memungkinkan Anda untuk:
+ Jalankan kueri di kedua tabel V2 dan V3
+ Tingkatkan tabel V2 yang ada ke V3 tanpa penulisan ulang data
+ Jalankan kueri perjalanan waktu yang mencakup snapshot V2 dan V3
+ Gunakan evolusi skema dan partisi tersembunyi di seluruh versi tabel

**penting**  
V3 adalah upgrade satu arah. Setelah tabel ditingkatkan dari V2 ke V3, tabel tidak dapat diturunkan kembali ke V2 melalui operasi standar.

## Memulai dengan V3
<a name="getting-started-v3"></a>

### Prasyarat
<a name="prerequisites"></a>

Sebelum bekerja dengan tabel V3, pastikan Anda memiliki:
+  AWS Akun dengan izin IAM yang sesuai
+ Akses ke satu atau beberapa layanan AWS analitik (EMR, Glue, Amazon SageMaker Unified Studio Notebooks, atau Tabel S3)
+ Bucket S3 untuk menyimpan data tabel dan metadata
+ Bucket meja untuk memulai dengan Tabel S3 atau bucket S3 tujuan umum jika Anda membangun infrastruktur Gunung Es Anda sendiri
+ AWS Katalog Glue dikonfigurasi

### Membuat Tabel V3
<a name="creating-v3-tables"></a>

#### Membuat Tabel V3 Baru
<a name="creating-new-v3-tables"></a>

Untuk membuat tabel Iceberg V3 baru, atur properti tabel format-versi ke 3.

**Menggunakan Spark SQL:**

```
CREATE TABLE IF NOT EXISTS myns.orders_v3 (  
    order_id bigint,  
    customer_id string,  
    order_date date,  
    total_amount decimal(10,2),  
    status string,  
    created_at timestamp  
)  
USING iceberg  
TBLPROPERTIES (  
    'format-version' = '3'  
)
```

#### Meningkatkan Tabel V2 ke V3
<a name="upgrading-v2-to-v3"></a>

Anda dapat memutakhirkan tabel V2 yang ada ke V3 secara atom tanpa menulis ulang data.

**Menggunakan Spark SQL:**

```
ALTER TABLE myns.existing_table  
SET TBLPROPERTIES ('format-version' = '3')
```

**penting**  
V3 adalah upgrade satu arah. Setelah tabel ditingkatkan dari V2 ke V3, tabel tidak dapat diturunkan kembali ke V2 melalui operasi standar.

**Apa yang terjadi selama upgrade:**
+ Snapshot metadata baru dibuat secara atom
+ File data Parket yang ada digunakan kembali
+ Bidang baris garis keturunan ditambahkan ke metadata tabel
+ Pemadatan berikutnya akan menghapus file penghapusan V2 lama
+ Modifikasi baru akan menggunakan file Vektor Penghapusan V3
+ Pemutakhiran tidak melakukan pengisian ulang historis dari catatan pelacakan perubahan garis keturunan

### Mengaktifkan Vektor Penghapusan
<a name="enabling-deletion-vectors"></a>

Untuk memanfaatkan Vektor Penghapusan untuk pembaruan, penghapusan, dan penggabungan, konfigurasikan mode tulis Anda.

**Menggunakan Spark SQL:**

```
ALTER TABLE myns.orders_v3  
SET TBLPROPERTIES ('format-version' = '3',  
                   'write.delete.mode' = 'merge-on-read',  
                   'write.update.mode' = 'merge-on-read',  
                   'write.merge.mode' = 'merge-on-read'  
                  )
```

Pengaturan ini memastikan bahwa operasi pembaruan, penghapusan, dan penggabungan membuat file Vektor Penghapusan alih-alih menulis ulang seluruh file data.

### Memanfaatkan Lineage Baris untuk Pelacakan Perubahan
<a name="leveraging-row-lineage"></a>

V3 secara otomatis menambahkan bidang metadata baris garis keturunan untuk melacak perubahan.

**Menggunakan Spark SQL:**

```
# Query with parameter value provided  
last_processed_sequence = 47  
  
SELECT   
    id,  
    data,  
    _row_id,  
    _last_updated_sequence_number  
FROM myns.orders_v3  
WHERE _last_updated_sequence_number > :last_processed_sequence
```

Bidang \$1row\$1id secara unik mengidentifikasi setiap baris, sementara \$1last\$1updated\$1sequence\$1number melacak saat baris terakhir diubah. Gunakan bidang ini untuk:
+ Identifikasi baris yang diubah untuk pemrosesan tambahan
+ Lacak garis keturunan data untuk kepatuhan
+ Optimalkan jaringan pipa CDC
+ Mengurangi biaya komputasi dengan hanya memproses perubahan

## Praktik Terbaik untuk V3
<a name="best-practices-v3"></a>

### Kapan Menggunakan V3
<a name="when-to-use-v3"></a>

Pertimbangkan untuk memutakhirkan ke atau memulai dengan V3 saat:
+ Anda sering melakukan pembaruan atau penghapusan batch
+ Anda harus memenuhi persyaratan penghapusan GDPR atau kepatuhan
+ Beban kerja Anda melibatkan peningkatan frekuensi tinggi
+ Anda memerlukan alur kerja CDC yang efisien
+ Anda ingin mengurangi biaya penyimpanan dari file kecil
+ Anda membutuhkan kemampuan pelacakan perubahan yang lebih baik

### Mengoptimalkan Kinerja Tulis
<a name="optimizing-write-performance"></a>
+ Aktifkan Vektor Penghapusan untuk beban kerja pembaruan-berat:

  ```
  SET TBLPROPERTIES (  
  'write.delete.mode' = 'merge-on-read',  
  'write.update.mode' = 'merge-on-read',  
  'write.merge.mode' = 'merge-on-read'  
  )
  ```
+ Konfigurasikan ukuran file yang sesuai:

  ```
  SET TBLPROPERTIES (  
  'write.target-file-size-bytes' = '536870912'  — 512 MB  
  )
  ```

### Mengoptimalkan Kinerja Baca
<a name="optimizing-read-performance"></a>
+ Memanfaatkan garis keturunan untuk pemrosesan inkremental
+ Gunakan perjalanan waktu untuk mengakses data historis tanpa menyalin
+ Aktifkan pengumpulan statistik untuk perencanaan kueri yang lebih baik

## Strategi Migrasi
<a name="migration-strategy"></a>

Saat bermigrasi dari V2 ke V3:
+ Uji di non-produksi terlebih dahulu - Validasi proses dan kinerja peningkatan
+ Upgrade selama periode aktivitas rendah - Minimalkan dampak pada operasi bersamaan
+ Pantau kinerja awal - Lacak metrik setelah peningkatan
+ Jalankan pemadatan - Konsolidasikan file hapus setelah peningkatan
+ Perbarui dokumentasi - Mencerminkan fitur V3 dalam dokumentasi tim

## Pertimbangan Kompatibilitas
<a name="compatibility-considerations"></a>
+ Versi mesin - Pastikan semua mesin mengakses tabel mendukung V3
+ Alat pihak ketiga - Verifikasi kompatibilitas V3 sebelum meningkatkan
+ Strategi Backup - Uji prosedur pemulihan berbasis snapshot
+ Pemantauan - Perbarui dasbor pemantauan untuk metrik khusus V3

## Pemecahan masalah
<a name="troubleshooting"></a>

### Masalah Umum
<a name="common-issues"></a>

Kesalahan: “format-versi 3 tidak didukung”  
+ Verifikasi versi mesin Anda mendukung V3

  Dukungan V3 untuk AWS layanan Amazon adalah sebagai berikut:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonS3/latest/userguide/working-with-apache-iceberg-v3.html)
+ Periksa kompatibilitas katalog
+ Pastikan versi AWS layanan terbaru

Degradasi kinerja setelah peningkatan  
+ Verifikasi tidak ada kegagalan pemadatan. Lihat [Pencatatan dan pemantauan untuk Tabel S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-monitoring-overview.html) untuk detail selengkapnya.
+ Periksa apakah Vektor Penghapusan diaktifkan. Pastikan properti berikut diatur:

  ```
  SET TBLPROPERTIES (  
  'write.delete.mode' = 'merge-on-read',  
  'write.update.mode' = 'merge-on-read',  
  'write.merge.mode' = 'merge-on-read'  
  )
  ```
+ Anda dapat memverifikasi properti tabel dengan kode berikut:

  ```
  DESCRIBE FORMATTED myns.orders_v3
  ```
+ Tinjau strategi partisi. Partisi yang berlebihan dapat menyebabkan file kecil. Jalankan kueri di bawah ini untuk mendapatkan ukuran file rata-rata untuk tabel Anda:

  ```
  SELECT avg(file_size_in_bytes) as avg_file_size_bytes   
  FROM myns.orders_v3.files
  ```

Ketidakcocokan dengan alat pihak ketiga  
+ Verifikasi alat mendukung spesifikasi V3
+ Pertimbangkan untuk mempertahankan tabel V2 untuk alat yang tidak didukung
+ Hubungi vendor alat untuk garis waktu dukungan V3

### Mendapatkan Bantuan
<a name="getting-help"></a>
+ AWS Support: Hubungi AWS Support untuk masalah khusus layanan
+ Komunitas Gunung Es Apache: Iceberg Slack
+ AWS Dokumentasi: Dokumentasi AWS Analytics

## Harga
<a name="pricing"></a>
+ Amazon EMR: Harga [komputasi](https://aws.amazon.com/emr/pricing/) dan penyimpanan
+ [ SageMaker Harga Amazon](https://aws.amazon.com/sagemaker/pricing/)
+ AWS Glue: [Job run dan harga Katalog Data](https://aws.amazon.com/glue/pricing/)
+ Tabel S3: [Penyimpanan dan permintaan harga](https://aws.amazon.com/s3/pricing/)

## Ketersediaan
<a name="availability"></a>

Dukungan Apache Iceberg V3 tersedia di semua wilayah tempat AWS Amazon EMR, AWS Glue Data Catalog, Glue ETL, AWS dan Tabel S3 beroperasi.

## Sumber Daya Tambahan
<a name="additional-resources"></a>
+ [Dokumentasi Apache Iceberg V3](https://docs.aws.amazon.com/prescriptive-guidance/latest/apache-iceberg-on-aws/introduction.html)
+ [Praktik Terbaik Migrasi](https://aws.amazon.com/solutions/guidance/migrating-tabular-data-from-amazon-s3-to-s3-tables/)
+ [Panduan Memulai](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-getting-started.html)