# Polars 2.0: miks ühendused enam ridade järjekorda ei hoia

Published: 2026-10-08

Polars 2.0 käitab vaikimisi voogesitusmootoril kogumist. Ühenduste, rühmitamise ja pöördelauale panemise puhul ei taga versioon enam sisendi ridade järjekorda, välja arvatud juhul, kui seate maintain\_order või sort eksplitsiitselt. Meie käivitamisel polars 2.0.0-l tagastas 2 000 000-realine sisemine ühendus vaikimisi read sisendi järjekorrast välja ja hoidis järjekorda seadistatud maintain\_order abil. Väljalase lülitab sisse ka välismälu ületäitmise ja muudab võrdlusuuringu väited tarnija omadeks.

Canonical: https://thedailydiff.dev/et/video/polars-2-row-order/

## Mida see video hõlmab

- Laisa päringu puhul collect() kutsumine kasutab nüüd vaikimisi voogesitusmootorit, mis ei taga ridade järjekorda ühendamise, rühmitamise ja pöördelauale panemise puhul.
- Migratsioonijuhend ütleb, et järjekord ei ole enam eel-2.0 järjekord ja seda ei tagata; see soovitab eksplitsiitset sorteerimist, kui te sellest sõltute.
- Meie käivitamisel tagastas vaikimisi sisemine ühendus sisendi järjekorra False; maintain\_order="left\_right" ühendusel tagastas True. Üks masin, üks käivitus, üks ühenduse kuju.
- Välismälu ületäitmine on vaikimisi sisse lülitatud: see algab umbes 80%-l RAM-ist, vaikimisi 64 GB kettamahuga. Välismälu ühendamine ja rühmitamine on arendusplaanis.
- collect\_schema() püüab puuduva veeru kinni enne andmete lugemist, kuid teisendus, mis ebaõnnestub vaid ühe väärtuse puhul, ebaõnnestub ainult collect() käigus.
- TPC-H ja TPC-DS võrdlus on tarnija enda käivitus tuletatud andmetel ja selle allmärkus ütleb, et tulemused ei ole võrreldavad ametlike võrdlusuuringutega.

## Peatükid

- 0:00 Miks vaikimisi järjekord muutus?
- 0:56 Mida migratsioonijuhend lubab?
- 1:17 Kas võrdlusuuring on aus võistlus?
- 1:41 Mida me näeme, kui me seda käivitame?
- 1:56 Kas rangem tähendab varasemat?
- 2:07 Kuidas ma saan vana järjekorra tagasi?
- 2:20 Mis on otsus?

## Tõlgitud transkriptsioon

Tõlgitud ingliskeelsest originaaljutustusest. Saadaolevat heli ja subtiitreid kontrollib YouTube.

### Miks vaikimisi järjekord muutus?

0:00 Arvate, et ühendus annab teie read tagasi samas järjekorras, nagu te need kirjutasite. Polars 2.0 lõpetas selle lubamise, vaikimisi, sihilikult. Selles videos: miks vaikimisi muutus? Mida see ostis? Ja milline teie skriptidest puruneb esimesena? See on The Daily Diff, kapoti all. Polars on avatud lähtekoodiga DataFrame'i teek: tabelimootor, mida te Pythonist kutsute,

0:20 mille tuum on kirjutatud Rustis. See on tasuta MIT litsentsi alusel ja te installite selle pip install polars abil. Üks detail esmalt. Lüliti, mis vana järjekorra tagasi toob, on argument ühendusele endale. Ma tulen selle juurde tagasi lõpus. Alates 2.0-st käivitab collect vaikimisi voogesitusmootori. Voogesitus jagab päringu paralleelselt käivitatavateks tükkideks, ja tükid lõpevad siis, kui need lõpevad.

0:42 Ühendamise, rühmitamise ja pöördelauale panemise puhul ei luba väljalase järjekorda. Kes saab esimesena pihta? Kes iganes võrdleb väljundit salvestatud failiga, rida rea haaval. See test võib teie sülearvutis läbida ja teisel masinal ebaõnnestuda. Järgmine, migratsioonijuhend.

### Mida migratsioonijuhend lubab?

0:57 See ütleb, et täpset ridade järjekorda, mis ülal näidatud, ei tagata. Nii et kui te tuginete järjekorrale, sorteerige eksplitsiitselt. Välismälu on samuti vaikimisi sisse lülitatud. See hakkab kettale ületäituma umbes kaheksakümmend protsenti RAM-ist, kuuekümne nelja gigabaidise eelarvega. Sorteerimine, aknatöötlusfunktsioonid ja paljud avaldised saavad nüüd ületäituda. Ühendused ja rühmitamised on tulemas.

### Kas võrdlusuuring on aus võistlus?

1:17 Polars ütleb, et see ületab DataFusioni ja DuckDB TPC-H ja TPC-DS võrdlusuuringutes. Numbrid pärinevad nende enda käivitustest, tuletatud andmetel, ja nende allmärkus ütleb, et need ei ole võrreldavad ametlike tulemustega. Nende enda numbrid ütlevad, et Polars kiireneb umbes kolm koma kaheksa korda kuusteist tuumalt ühesaja üheksakümne kahele, TPC-H-l. Nad ütlevad ka, et suure masina lisalõimed aeglustavad väikeseid päringuid.

### Mida me näeme, kui me seda käivitame?

1:41 Me käivitasime sama ühenduse kaks korda Polars 2.0.0-l. Vaikimisi käivitus segab read. Lipuga säilib sisendi järjekord. Leidke ühendused, mis testi toidavad. Iga ühendus ilma järgneva sorteerimiseta on ridade järjekorra otsus, mida te kunagi ei teinud. Polars 2.0 on tüüpide suhtes rangem.

### Kas rangem tähendab varasemat?

1:58 Skeemi kontroll püüab puuduva veeru kinni enne andmete lugemist. See ei saa kinni püüda teisendust, mis ebaõnnestub ühel real, sest see viga ootab andmeid. Nüüd avatud silmus.

### Kuidas ma saan vana järjekorra tagasi?

2:08 Lüliti asub ühendusel. Seadistage ühendusel maintain order või lisage pärast seda sorteerimine. Juhend soovitab sorteerimist. Ühenduslipp säilitas meie käivitamisel järjekorra, kus vasaku poole järjekord säilitati kui vasak, parem. Otsus, kapoti all: NEEDS REVIEW.

### Mis on otsus?

2:22 Ma vaataksin iga ühenduse üle enne uuendamist. Kas teil on selle kohta küsimus? Pange see kommentaaridesse. Ja see on tänane erinevus. Mina olen Niko Axrisist. Ühendage vastutustundlikult.

## Allikad

- [Release of Polars 2.0](https://pola.rs/posts/release-polars-2/) — Polars (pola.rs)
- [Polars 2.0 upgrade guide](https://docs.pola.rs/releases/upgrade/2/) — Polars documentation
- [Polars homepage](https://pola.rs/) — Polars (pola.rs)
- [polars-2.0-benchmark repository](https://github.com/pola-rs/polars-2.0-benchmark) — Polars on GitHub
- [Release of Polars 2.0 (Hacker News discussion)](https://news.ycombinator.com/item?id=49977177) — Hacker News
