Polars 2.0: Af hverju samkeyrslur halda ekki lengur röð raða
Polars 2.0 keyrir sjálfgefið söfnun á streymisvél.
Polars 2.0 keyrir sjálfgefið söfnun á streymisvél. Fyrir samkeyrslu, group_by og unpivot tryggir útgáfan ekki lengur upprunalega röð raða nema þú stillir maintain_order eða sort beinlínis. Í okkar keyrslu á Polars 2.0.0 skilaði innri samkeyrsla á 2.000.000 línum röðum úr röð sjálfgefið og hélt röðinni með maintain_order stillt. Útgáfan kveikir einnig á útfærslu út úr kjarna og gerir viðmiðunarprófanir söluaðila að sínum eigin.
Lestu skriflegu útgáfuna (enska) ↗
Það sem þetta myndband fjallar um
- Að kalla collect() á letilegri fyrirspurn notar nú streymisvélina sjálfgefið, sem tryggir ekki röð raða fyrir samkeyrslu, group_by og unpivot.
- Flutningsleiðbeiningarnar segja að röðin sé ekki lengur sú sama og fyrir 2.0 og er ekki tryggð; hún mælir með beinlínis flokkun ef þú treystir á hana.
- Í okkar keyrslu skilaði sjálfgefin innri samkeyrsla upprunalegri röð False; maintain_order="left_right" á samkeyrslunni skilaði True. Ein vél, ein keyrsla, ein samkeyrsluform.
- Útfærsla út úr kjarna er sjálfgefin: hún byrjar á um 80% af vinnsluminni, með 64 GB sjálfgefnu diskabudget. Útfærsla út úr kjarna samkeyrsla og group_by eru á verkefnalistanum.
- collect_schema() grípur vantar dálk áður en gögn eru lesin, en umbreyting sem mistekst á aðeins einu gildi mistekst aðeins við collect().
- TPC-H og TPC-DS samanburðurinn er eigin keyrsla söluaðila á afleiddum gögnum, og neðanmálsgrein hennar segir að niðurstöðurnar séu ekki sambærilegar við opinber viðmiðunarpróf.
Þýtt afrit
Þýtt úr upprunalegri enskri frásögn. Tiltækt hljóð og textar eru stjórnaðir af YouTube.
Hvers vegna breyttist sjálfgefin röð?
0:00 Þú heldur að samkeyrsla skili þér röðum í sömu röð og þú skrifaðir þær. Polars 2.0 hætti að lofa því, sjálfgefið, viljandi. Í þessu myndbandi: hvers vegna breyttist sjálfgefin stilling? Hvað græddi það? Og hvaða skriftir þínar brotna fyrst? Þetta er The Daily Diff, undir yfirborðinu. Polars er opinn DataFrame bókasafn: töfluvél sem þú kallar úr Python,
0:20 með kjarna sinn skrifaðan í Rust. Það er ókeypis undir MIT leyfi, og þú setur það upp með pip install polars. Eitt smáatriði fyrst. Rofinn sem skilar gömlu röðinni aftur er röksemdafærsla í sjálfa samkeyrsluna. Ég kem aftur að því í lokin. Síðan 2.0 keyrir collect streymisvélina sjálfgefið. Streymi skiptir fyrirspurninni í bita sem keyra samhliða, og bitarnir klárast þegar þeir klárast.
0:42 Fyrir samkeyrslu, group by og unpivot lofar útgáfan ekki röð. Hver verður fyrir barðinu fyrst? Hver sem ber saman úttak við vistaða skrá, röð fyrir röð. Það próf getur staðist á fartölvunni þinni og mistekist á annarri vél. Næst, flutningsleiðbeiningarnar.
Hvað lofar flutningsleiðbeiningin?
0:57 Þær segja að nákvæm röð raða sem sýnd er hér að ofan sé ekki tryggð. Svo ef þú treystir á röðina, flokkaðu beinlínis. Út-af-kjarna er líka sjálfgefið. Það byrjar að leka á disk við um áttatíu prósent af vinnsluminni, með sextíu og fjögurra gígabæta fjárhagsáætlun. Flokkun, gluggaföll og margar segðir geta nú lekið. Samkeyrslur og group-bys eru á leiðinni.
Er viðmiðunarprófið sanngjörn keppni?
1:17 Polars segir að það slái DataFusion og DuckDB á TPC-H og TPC-DS viðmiðunarprófum. Tölurnar koma frá þeirra eigin keyrslum, á afleiddum gögnum, og neðanmálsgrein þeirra segir að þær séu ekki sambærilegar við opinberar niðurstöður. Eigin tölur þeirra segja að Polars verði um þrjú komma átta sinnum hraðari úr sextán kjörnum í eitt hundrað níutíu og tvö, á TPC-H. Þeir segja einnig að aukaþræðir stóru vélarinnar hægi á litlum fyrirspurnum.
Hvað sjáum við þegar við keyrum það?
1:41 Við keyrðum sömu samkeyrslu tvisvar á Polars 2.0.0. Sjálfgefin keyrsla stokkar raðirnar. Með fánanum lifir upprunaleg röð. Finndu samkeyrslurnar sem gefa próf. Sérhver samkeyrsla án flokkunar á eftir er röðunarákvörðun sem þú tókst aldrei. Polars 2.0 er strangara varðandi gerðir.
Þýðir strangara fyrr?
1:58 Skemalánsheimilisskoðunin grípur vantar dálk áður en gögn eru lesin. Hún getur ekki gripið umbreytingu sem mistekst á einni röð, vegna þess að sú villa bíður eftir gögnunum. Nú lykkjan sem ég opnaði.
Hvernig fæ ég gömlu röðina til baka?
2:08 Rofinn er á samkeyrslunni. Stilltu maintain order á samkeyrslunni, eða bættu við flokkun á eftir henni. Leiðbeiningarnar benda á flokkunina. Samkeyrslufáninn hélt röðinni í okkar keyrslu, með röð vinstri hliðar haldin sem vinstri, hægri. Niðurstaða, undir yfirborðinu: NEEDS REVIEW.
Hver er niðurstaðan?
2:22 Ég myndi fara yfir hverja samkeyrslu áður en ég uppfæri. Hefurðu spurningu um þetta? Settu hana í athugasemdirnar. Og það er munurinn í dag. Ég er Niko frá Axrisi. Sameinðu á ábyrgan hátt.
Heimildir
- Release of Polars 2.0Polars (pola.rs)
- Polars 2.0 upgrade guidePolars documentation
- Polars homepagePolars (pola.rs)
- polars-2.0-benchmark repositoryPolars on GitHub
- Release of Polars 2.0 (Hacker News discussion)Hacker News



