G/Ç'yi hızlandırma: Parke ve Tüy

Nov 27 2022
Sorunlarımızdan bazıları, yerel depolamadan okuduğumuz verilerden oluşuyor. Okuma-işleme-yazma işlemleri nispeten küçük veri kümelerinde rahat olabilir, ancak bu eylemler büyük .

Sorunlarımızdan bazıları, yerel depolamadan okuduğumuz verilerden oluşuyor. Okuma-işleme-yazma işlemleri nispeten küçük veri kümelerinde rahat olabilir, ancak büyük .csv dosyaları için bu işlemler bizim için oldukça zahmetlidir. Zaman ve kaynaklar açısından çok talepkar olabilirler.

Verilerinizin okuma-yazma hızını artıracak ve diskte depolanan verilerin boyutunu sıkıştıracak iki dosya türünü tanıtacağım:

  • Parke
  • Tüy
  • Python-Pandas ile varsayılan olarak erişilebilir. Ancak , veri türünüze bağlı olarak ek olarak pyarrow ve bu türden bazı uzantıları yüklemeniz gerekebilir.
  • Sütun tabanlı G/Ç yönetimini destekleyin. Bu şekilde, tüm verileri okurken geçici olarak fazladan RAM kullanılmasını ve ardından gereksiz sütunların atılmasını önleyebilirsiniz.
  • Verileri ham form yerine kendi türünde ikili formatta saklayarak, depolamada %50'ye varan tasarruf sağlayabilir ve okuma-yazma işlemlerinde x100'e varan hızlanma elde edebilirsiniz.

Parke

Tüy

Çözüm

Bu kadar kolay! Verilerinizi ham formatta depolamanız gerekmediği ve her kullanıcının istediği zaman Excel ile açabilmesi gerekmediği durumlarda bu yöntemleri kullanmanızı kesinlikle tavsiye ederim! Bu istisnai durum için, veri biçimini değiştirmek yerine okuma ve yazma verilerini paralel hale getirmek daha mantıklıdır. Gelecekte bu senaryoyu ele almayı da düşünüyorum. Umarım bu içerik sizin için yararlı olmuştur, bence basit ama oldukça etkili bir şey.

Bu yöntemleri Kaggle yarışmalarında kullanıyorum ve oldukça iyi hızlanmalar alıyorum. Örnek bir kodumu buradan inceleyebilirsiniz !