Ana içeriğe geç
Programlama

DataHaskell projesi Dataframe kütüphanesine Parquet yazıcısı ekledi

Öne çıkanlar

  • DataHaskell/Dataframe kütüphanesine yerel bir Parquet dosyası yazıcısı eklendi.
  • Bellek yönetimi FFI kullanılmadan MutableByteArray yapılarıyla kuruldu.
  • İlk sürüm yalnızca Plain kodlama ile Snappy ve sıkıştırılmamış verileri destekliyor.
  • Disk yazma işlemleri sistem çağrılarını azaltmak için 256 KiB öbekler halinde yapılıyor.

DataHaskell geliştiricileri, Dataframe kütüphanesi bünyesinde Parquet biçiminde veri kaydetmeyi sağlayan yerel bir yazıcı geliştirdi. Uzun süredir CSV, JSON veya ByteString gibi yöntemlerle sınırlı kalan Haskell ekosistemi, bu adımla birlikte veri bilimi araçlarıyla doğrudan uyumlu çalışabilen sütun tabanlı depolama yeteneği kazandı. Yeni eklenen writeParquet işlevi, satır grubu ve sayfa boyutları için belirlenen varsayılan yapılandırmalarla veri çerçevelerini doğrudan Parquet dosyalarına dönüştürüyor.

Yazıcının bellek yönetimi altyapısı, yabancı fonksiyon arayüzüne (FFI) başvurulmadan MutableByteArray ve sabitlenmiş (pinned) bayt dizileri kullanılarak kuruldu. Bu yaklaşım, sayfa ve sütun yığını arabelleklerinin doğrudan işletim sistemi işaretçilerine dönüştürülüp diske yazılmasını sağlıyor. Geliştiriciler, hedef sayfa ve satır grubu boyutlarını korumak adına verileri alt gruplar halinde işleyen bir döngü mekanizması tasarladı; böylece sistem çağrıları optimize edildi ve 256 KiB boyutundaki öbeklerle dosya yazımı sağlandı.

İlk sürüm yalnızca düz şemaları, temel Plain kodlamasını ve Snappy ile sıkıştırılmamış biçimleri destekliyor. Ekip, gelecekteki sürümlerde daha gelişmiş kodlama türlerini, sayfa istatistiklerini ve bloom filtrelerini eklemeyi hedefliyor. Ayrıca tüm satır gruplarını bellekte tutmak yerine, bellek kısıtı bulunan sistemler için disk üzerinde geçici dosyalar kullanan iki aşamalı bir yazma stratejisi ile eşzamanlı çalışma desteği de planlanıyor.

Kaynak

Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.