Bu, PyCon US 2025 sunumunun içeriğidir.
DuckDB ile Veri Bilimi: Karmaşık Dosya Ortamını Ehlileştirmek - Alex Monahan
Alex Monahan'ın sunum videosu, açık kaynak analitik veritabanı kütüphanesi DuckDB'nin veri bilimcilerin çeşitli ve düzensiz veri dosyalarını yönetip analiz etmelerine nasıl yardımcı olabileceğini açıklıyor.
Ana noktalar:
- Dosya hayvanat bahçesi sorunu: Veri bilimciler CSV, Parquet, elektronik tablolar gibi çok çeşitli biçimlerde sayısız dosyayla uğraşır; bu dosyalar farklı konumlara ve bulut platformlarına dağılmış olabilir. Bu dosyalar büyük olabilir, sayıları fazla olabilir ve düzensiz ya da bozulmaya açık olabilir.
- DuckDB'ye genel bakış: DuckDB, "analitik için SQLite" olarak tanıtılır. Açık kaynaktır (MIT lisansı) ve analitik iş yükleri için tasarlanmış in-process (gömülü) bir veritabanıdır. Herhangi bir bağımlılık olmadan
pip install duckdbile kolayca kurulabilir ve doğrudan Python betikleri veya notebook'lar içinde kullanılabilir. - Çeşitli dosyaları okuma: DuckDB, S3 gibi bulut depolamadaki dosyalar dahil olmak üzere çok geniş bir dosya biçimi yelpazesini okuyabilir. Özellikle güçlü CSV okuyucusu, gerçek dünyadaki dağınık CSV dosyalarını işlemede çok başarılıdır ve sorunlu dosyaları başarıyla parse etme yeteneğiyle birçok diğer aracı geride bırakır.
- Tanıdık SQL ve ilişkisel API: DuckDB, kullanıcı dostu bir SQL arayüzü (
SELECT *örneğin isteğe bağlıdır) ve Python tarzı ilişkisel bir API sunar. Dosyaları sanki tabloymuş gibi doğrudan sorgulayabilirsiniz ve yalnızca gerektiğinde veri okuyan lazy bir şekilde çalışır. - Birlikte çalışabilirlik: Pandas ve Polars gibi popüler veri bilimi kütüphaneleriyle sorunsuz biçimde entegre olur; aynı süreç içinde çalıştığı için zero-copy veri alışverişi mümkündür.
- DuckDB dosya biçimi: Varsayılan DuckDB dosya biçimi, birden fazla tablo, görünüm, SQL işlevi ve ilişkiyi saklayabilen tek bir kolonsal sıkıştırılmış dosyadır. Bu biçim düzenlenebilir, ACID özelliklerini destekler ve hız ile verimlilik için tasarlanmıştır.
- ACID özellikleri: DuckDB, atomiklik (değişikliklerin ya tamamen uygulanması ya da hiç uygulanmaması), tutarlılık (anahtarlar kullanılarak veri kalitesi sorunlarının önlenmesi), yalıtım (eşzamanlı sorguların birbirini etkilememesi) ve dayanıklılık (commit edilen verinin bozulmaya karşı güvende olması) sayesinde veri bilimi iş akışlarına veritabanı sağlamlığı kazandırır.
- Kullanım senaryoları: Verileri tek, verimli ve sorgulanabilir bir biçimde birleştirerek "dosya hayvanat bahçesini" ehlileştirmede yararlıdır. Ayrıca yinelemeli veri bilimi çalışmaları sırasında yeni dosya hayvanat bahçelerinin oluşmasını engellemeye de yardımcı olur.
- Topluluk ve genişletilebilirlik: DuckDB genişletilebilir bir yapıya sahiptir ve topluluk katkılarıyla istatistik paket dosyaları ve Google Sheets gibi biçimlere destek eklenmektedir.
DuckDB Labs ve MotherDuck'ta (DuckDB tabanlı bir bulut veri ambarı) çalışan Alex Monahan, DuckDB'nin veritabanlarının gücü ile veri biliminin ihtiyaç duyduğu esnekliği birleştirerek veri bilimciler için veri işlemeyi basitleştirmeyi hedeflediğini vurguladı.
Henüz yorum yok.