Projeler 2026 yayında
Iceberg Lens
Iceberg, Paimon ve Delta Lake tablolarının metadata'sını snapshot'lar arasında gezilebilen bir grafik olarak çizen ve kaydedilen her sayıyı dosyalarla karşılaştıran bir masaüstü aracı. IntelliJ içinde ve komut satırından da çalışıyor.
Kotlin, Compose Desktop

Iceberg Lens, Apache Iceberg, Apache Paimon ve Delta Lake tablolarının diskte gerçekte nasıl durduğuna bakmak için yazdığım bir masaüstü aracı. Metadata dosyalarını, manifest listelerini, manifestleri ve veri dosyalarını bir grafik olarak çiziyor. Bu grafikte snapshot'lar arasında tek tek ilerleyebiliyorsunuz. Bir düğüme tıkladığınızda, şema, partition spec ya da bir snapshot'ın getirdiği değişiklikler gibi o dosyada ne yazıyorsa yan panelde görüyorsunuz. Avro, JSON ve Parquet dosyalarını elle tek tek açmanız gerekmiyor.
Metadata'nın kaydettiği her sayının yanında, aynı sayının dosyalardan sayılmış hâli de görünüyor. Böylece tabloyu yalnızca okumakla kalmıyor, doğruluğunu da kontrol edebiliyorsunuz. Tek tıkla hepsini birden karşılaştırmak mümkün. Bir filtre girip bir taramanın hangi dosyaları atlayacağını ve hangi satırları döndüreceğini de görebilirsiniz. Eski snapshot'ların silinmesi, compaction, orphan dosya temizliği ve VACUUM gibi bakım işlerinde ise hiçbir şey çalıştırmadan önce motorun nasıl bir plan yapacağını gösteriyor.
Aynı motor bir IntelliJ araç penceresinde ve icelens adlı komut satırı aracında da çalışıyor. Komut satırındaki bütünlük kontrolü bir tutarsızlık bulursa 1 çıkış koduyla sonlanıyor, böylece bir CI adımı orada durabiliyor. Tabloyu yerel bir klasörden, S3, GCS ya da R2'den veya HDFS'ten açabilirsiniz. Araç tabloya hiçbir şey geri yazmıyor.

Günlerim Iceberg ile geçiyordu ve hata ayıklarken bu resmi her seferinde kafamda yeniden kurmak zorunda kalıyordum. Iceberg Lens'i bu yüzden yaptım. Kotlin ve Compose Desktop ile yazdım, kaynak kodu açık. Gerçek bir tabloyu bu araçla adım adım inceleyen bir yazı da var.