
Polars 2.0 ön sürümü: akış motoru artık varsayılan
Polars, 2.0 sürümünün ilk adayını yayımladı: LazyFrame sorguları akış motorunda çalışıyor, tip denetimi sıkılaşıyor ve kaldırılan API'ler yerine net hatalar veriyor.
Polars, 2.0 sürümünün ilk sürüm adayını yayımladı; kesin sürümün önümüzdeki haftalarda çıkması bekleniyor. Projenin blogunda yazan baş geliştirici Ritchie Vink, ana sürüm atlamasının yeni özelliklerle ilgili olmadığını, eski tasarım kararlarından kurtulmak ve varsayılanları daha makul ayarlara taşımak anlamına geldiğini vurguluyor.
Akış motoru varsayılan hâline geliyor
En büyük değişiklik, artık her LazyFrame sorgusunun akış (streaming) motorunda çalışması. Bu nedenle collect() çağrısı bellek kullanımında büyük düşüş ve çoğu sorguda daha iyi performans sağlıyor; proje, akış motorunun toplamda kolayca 5 kat daha hızlı olmasını bekliyor.
Ana sürüm atlamasını gerektiren de tam olarak bu: akış motoru join, group_by ve unpivot gibi işlemlerde satır sırasını garanti etmiyor. Gözlemlenebilir satır sırasına bağlı kod bunu maintain_order=True ile açıkça istemeli; süreç genelinde eski bellek içi motoru tercih edenler ise pl.Config.set_engine_affinity ile bunu ayarlayabilir.
Daha katı, daha açıklayıcı hatalar
Polars 2.0, eskiden sessizce başarısız olan davranışları da sıkılaştırıyor. Farklı tipler üzerinde çalışan is_in ifadesi, dönüşüm veri kaybettirse bile iki tarafı ortak bir üst tipe zorluyordu — blogda 2^53 üzerindeki bir kullanıcı kimliği karşılaştırmasında yuvarlamanın yanlış eşleşme ürettiği gösteriliyor; artık bu durum hata veriyor. Yatay concat, null ile doldurmak yerine uzunlukları denetliyor ve eski davranış yalnızca açık "horizontal_extend" seçeneğiyle sürüyor. Belirsiz cast işlemlerinin birçoğu, .cat.to() ve .str.to_date() gibi özel yöntemler lehine kaldırıldı.
Kaldırılan API'ler için iki tipli istisna eklendi: AttributeRemovedError ve ArgumentRemovedError. Mesajları yeni yöntemi işaret ediyor — melt, unpivot oldu; join_nulls ise nulls_equal adını aldı. Yazar ayrıca collect_schema() ile erken şema doğrulamasının yapay zekâ ajanları için yararlı olduğunu belirtiyor; ajanlar veriyi işlemeden önce sorgunun yapısını denetleyebiliyor.
Sırada ne var
Vink'e göre 2.x, 1.x'in çok ötesine geçecek: akış motoru için bellek dışı destek, yeni bir IO eklentisi tasarımı, ekibin beklediği en hızlı S3 okuyucusu üzerinde çalışma, daha geniş SQL kapsamı, maliyet tabanlı planlayıcı, join sıralamasının yeniden düzenlenmesi ve boru hatlarını uçtan uca asenkron yapmak için mmap'in kaldırılması. Tam geçiş kılavuzu yayında ve sürüm adayı pip install polars==2.0rc1 ile kuruluyor.
SiTech — AI destekli web geliştirme
Hızlı ve modern web siteleri kuruyor, AI'yı gerçek iş akışlarına taşıyoruz. Projeniz veya sorunuz mu var? Yardımcı olmaktan mutluluk duyarız.