Mempercepat I/O: Parket dan Feather

Beberapa masalah kami terdiri dari data yang kami baca dari penyimpanan lokal. Operasi baca-proses-tulis dapat dilakukan dengan nyaman pada kumpulan data yang relatif kecil, tetapi tindakan tersebut untuk file .csv besar cukup merepotkan bagi kami. Mereka bisa sangat menuntut dalam hal waktu dan sumber daya.
Saya akan memperkenalkan dua tipe file yang akan meningkatkan kecepatan baca-tulis data Anda dan memampatkan ukuran data yang disimpan di disk:
- Parket
- Bulu
- Dapat diakses secara default dengan Python-Pandas. Tetapi Anda mungkin harus menginstal tambahan pyarrow dan beberapa ekstensi dari jenisnya tergantung pada tipe data Anda.
- Mendukung manajemen I/O berbasis kolom. Dengan cara ini, Anda dapat mencegah sementara menggunakan RAM ekstra saat membaca semua data dan kemudian menjatuhkan kolom yang tidak perlu.
- Menyimpan data dalam format biner dalam jenisnya sendiri, bukan dalam bentuk mentah, Anda dapat menghemat penyimpanan hingga 50% dan dapat memperoleh akselerasi hingga x100 dalam operasi baca-tulis.
Parket
Bulu
Kesimpulan
Semudah itu! Saya merekomendasikan menggunakan metode ini ketika Anda tidak harus menyimpan data Anda dalam format mentah dan setiap pengguna tidak perlu membukanya dengan Excel kapan saja! Untuk kasus luar biasa tersebut, lebih logis untuk memparalelkan pembacaan dan penulisan data daripada mengubah format data. Saya juga berpikir untuk menangani skenario itu di masa depan. Saya harap konten ini bermanfaat bagi Anda, menurut saya ini adalah sesuatu yang sederhana tetapi cukup efektif.
Saya menggunakan metode ini di kompetisi Kaggle dan mendapatkan percepatan yang cukup bagus. Anda dapat meninjau contoh kode saya di sini !