
Polars 2.0-ın ilkin buraxılışı: axın mühərriki standart olur
Polars 2.0-ın ilk namizədini dərc edib: LazyFrame sorğuları axın mühərrikində işləyir, tip yoxlaması sərtləşir və silinmiş API-lər əvəzini göstərən aydın xəta verir.
Polars 2.0 versiyasının ilk buraxılış namizədini dərc edib; yekun buraxılış yaxın həftələrdə gözlənilir. Layihənin bloqunda baş tərtibatçı Ritçi Vink vurğulayır ki, əsas versiyanın artırılması yeni funksiyalarla bağlı deyil: məqsəd köhnə dizayn qərarlarından imtina etmək və standart parametrləri daha məntiqli hədlərə keçirməkdir.
Axın mühərriki standart hala gəlir
Ən böyük dəyişiklik budur ki, artıq bütün LazyFrame sorğuları axın (streaming) mühərrikində işləyir. Buna görə collect() çağırışı yaddaş sərfiyyatını xeyli azaldır və əksər sorğularda məhsuldarlığı artırır; layihə axın mühərrikinin ümumilikdə asanlıqla 5 dəfə sürətli olacağını gözləyir.
Əsas versiya artımını zəruri edən də məhz budur: axın mühərriki join, group_by və unpivot kimi əməliyyatlarda sətir sırasına zəmanət vermir. Müşahidə olunan sıradan asılı olan kod bunu maintain_order=True ilə açıq şəkildə tələb etməlidir; köhnə, yaddaşdaxili mühərriki proses üzrə standart saxlamaq istəyənlər isə bunu pl.Config.set_engine_affinity vasitəsilə edə bilər.
Daha ciddi, daha aydın xətalar
Polars 2.0 həmçinin əvvəllər səssizcə uğursuz olan davranışları sərtləşdirir. Müxtəlif tiplər üzərində is_in ifadəsi əvvəllər hər iki tərəfi ümumi üst tipə çevirirdi, hətta bu çevirmə məlumat itirsə belə — bloqda 2^53-dən böyük istifadəçi ID-si müqayisəsi göstərilir, burada yuvarlaqlaşdırma yanlış uyğunluq yaradırdı; indi bu hal xəta verir. Üfüqi concat uzunluqları yoxlayır və null ilə doldurmur, köhnə davranış yalnız açıq "horizontal_extend" seçimi kimi qalır. Bir neçə qeyri-müəyyən cast, .cat.to() və .str.to_date() kimi xüsusi metodların xeyrinə silinib.
Silinmiş API-lər üçün iki tipli istisna əlavə olunub: AttributeRemovedError və ArgumentRemovedError. Onların mesajları yeni metoda işarə edir — melt, unpivot olub; join_nulls isə nulls_equal adlandırılıb. Müəllif həmçinin qeyd edir ki, collect_schema() ilə erkən sxem yoxlaması süni intellekt agentləri üçün faydalıdır: onlar məlumatları emal etməzdən əvvəl sorğunun strukturunu yoxlaya bilirlər.
Növbədə nə var
Vinkin sözlərinə görə, 2.x 1.x-dən qat-qat uzağa gedəcək: axın mühərriki üçün yaddaşdan kənar emal dəstəyi, yeni IO-plagin dizaynı, komandanın gözlədiyi ən sürətli S3 oxuyucusu üzərində iş, daha geniş SQL əhatəsi, xərcə əsaslanan planlaşdırıcı, join sıralamasının yenidən qurulması və boru xətlərini tam asinxron etmək üçün mmap-in silinməsi. Tam miqrasiya təlimatı artıq mövcuddur, namizəd isə pip install polars==2.0rc1 əmri ilə quraşdırılır.
SiTech — AI ilə gücləndirilmiş veb hazırlanması
Sürətli və müasir saytlar qurur, AI-ı real biznes proseslərinə gətiririk. Layihəniz və ya sualınız var? Kömək etməyə hazırıq.