deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak dev.to (home feed)

DuckDB ve Amazon S3: Analitik için Pratik Bir Veri Doğrulama Pipeline'ı

Bir dev.to eğitimi, DuckDB ile hafif bir veri doğrulama pipeline'ı kurmayı, satış kayıtlarını SQL ile geçerli ve reddedilen kümelerine ayırmayı ve ardından bu deseni Amazon S3, Glue ve Athena'ya genişletmeyi anlatıyor.

DuckDB ve Amazon S3: Analitik için Pratik Bir Veri Doğrulama Pipeline'ı

Pipeline ne yapıyor

dev.to'da yayınlanan bir eğitim, açık kaynak süreç içi analitik veritabanı DuckDB ile hafif bir veri doğrulama pipeline'ı kurmayı anlatıyor ve aynı deseni Amazon S3 ile diğer AWS veri servislerine nasıl genişletebileceğinizi gösteriyor.

dev.to rehberine göre proje, ham bir satış CSV dosyasını alıp düz bir Python betiği içinde çalışan DuckDB'den geçiriyor. SQL kuralları yaygın veri kalitesi sorunlarını işaretliyor: eksik sipariş veya müşteri kimlikleri, mükerrer sipariş kimlikleri, sıfır veya negatif tutarlar ve tanınmayan sipariş durumları. Betik ardından iki çıktı üretiyor — biri temiz kayıtlardan, diğeri her satıra bir gerekçe eklenmiş reddedilen satırlardan oluşan dosya.

Yazarın savunduğu kadarıyla çekici olan nokta, DuckDB'nin ayrı bir veritabanı sunucusu olarak değil, uygulama süreci içinde çalışması. Bu özellik onu hafif ETL, veri kalitesi kontrolleri, büyük dosyaları filtreleme ve toplama ile veri ambarına ulaşmadan önce veri kümelerini hazırlama işleri için doğal bir seçim haline getiriyor.

Doğrulama nasıl çalışıyor

Betik, CSV'yi DuckDB'nin otomatik CSV okuyucusuyla bir DuckDB tablosuna yüklüyor, ardından bir CASE ifadesi üzerine kurulu tek bir SQL sorgusu uyguluyor. Her satıra hesaplanmış bir validation_error sütunu ekleniyor: eşleşen ilk kural hata mesajını belirliyor, hiçbir kuralın tetiklenmediği satırlar ise NULL değeriyle geçiyor. Mükerrer kayıt tespiti, order_id üzerinde gruplama yapan ve birden fazla kez görünen kimlikleri tutan bir alt sorguyla ele alınıyor.

Sonuçlar, DuckDB'nin COPY komutuyla ayrı valid ve rejected CSV dosyalarına aktarılıyor; betik toplam, geçerli ve reddedilen satır sayılarını özet olarak yazdırıyor.

Bilinçli olarak mükerrer bir sipariş, eksik bir müşteri kimliği, negatif bir tutar ve bilinmeyen bir durum içeren altı satırlık örnek veri setinde yalnızca bir kayıt ayakta kalıyor. Mükerrer siparişin her iki kopyası da reddediliyor ve tek bir geçerli satır kalıyor.

Yazar, tasarımın satır başına yalnızca ilk eşleşen hatayı raporladığına dikkat çekiyor ve üretim sistemlerindeki her kayıt için birden fazla hatayı yakalamanın yanı sıra daha katı şema ve tip kontrolleri eklenmesini öneriyor.

Deseni AWS'ye genişletmek

Eğitimin ikinci yarısı aynı mantığı AWS biçimli bir mimariye taşıyor. Ham dosyalar bir S3 bucket'ına yükleniyor (rehberde AWS CLI kullanılıyor), bir hesaplama adımı DuckDB doğrulamasını çalıştırıyor — bu ortam olarak bir AWS Glue job ya da bir ECS container öneriliyor — ve geçerli ile reddedilen çıktılar validated/ ve rejected/ gibi ayrı S3 öneklerine yazılıyor. Buradan itibaren işlenmiş veriler AWS Glue Data Catalog'a kaydedilip Amazon Athena ile sorgulanabiliyor.

Yazar, analitik iş yükleri için CSV yerine Parquet yazılmasını öneriyor, çünkü kolon tabanlı depolama sorguların taradığı veri miktarını azaltıyor. Rehber ayrıca, S3'ten Parquet okumak ve Amazon S3 Tables'a Apache Iceberg tabloları yazmak için Glue içinde DuckDB çalıştıran bir AWS demonstrationsına işaret ediyor; bu, SQL tabanlı işlemeyi lakehouse depolamayla birleştiren pipeline'lar için relevant.

Makaledeki bir karşılaştırma DuckDB'yi hafif analitik SQL ve doğrulama, S3'ü ham ve işlenmiş veri için nesne depolama, Glue'u yönetilen ETL, Athena'yı S3 üzerindeki sunucusuz SQL ve Redshift'i veri ambarı katmanı olarak konumlandırıyor — birbirinin yerine geçen değil tamamlayıcı araçlar olarak; doğru mimari veri hacmine ve gereksinimlere bağlı.

Bağlam: AWS ve DuckLabs

Rehber yinelenmeye değer bir açıklamayla başlıyor: DuckDB yeni launched bir yönetilen AWS veritabanı servisi değil. Makaleye göre AWS, Ağustos 2026'da DuckDB'nin arkasındaki şirket olan DuckLabs'ı satın alma planını duyurdu ve DuckDB'yi Glue ve S3 Tables ile eşleştiren entegrasyon örnekleri yayınladı.

Neden önemli

Veri kalitesi sorunları genellikle aşağı akışta — panolarda, finansal raporlarda ve yapay zeka uygulamalarında — ortaya çıkar ki burada izini sürmek pahalıdır. İyi satırları kötülerden, açık gerekçelerle ayıran bir doğrulama adımı, bu sorunların sessizce aşağı akış sistemlerine akmasına izin vermek yerine alım anında görünür olmasını sağlar.

DuckDB'nin süreç içi modeli bu kontrolü ek altyapı kurmadan çalışacak kadar ucuz tutuyor ve S3 tabanlı düzen mevcut AWS pipeline'larına sorunsuz yerleşiyor. AWS'nin DuckLabs'ı satın alma yolunda ilerlemesi ve DuckDB'yi zaten Glue içinde göstermesi göz önüne alındığında, ikisi arasındaki entegrasyonların derinleşmesi muhtemel — bu da bu deseni bugün analitik iş yüklerine kalite kapıları eklemek için düşük maliyetli bir yol haline getiriyor.

  • #duckdb
  • #aws
  • #amazon-s3
  • #data-quality
  • #etl
  • #cloud

İlgili yazılar