+− THE DAILY DIFFdev & AI news
NEEDS REVIEW

Polars 2.0: ඇයි join කිරීමේදී තවදුරටත් එහි පේළි අනුපිළිවෙල නොපවතින්නේ

Polars 2.0 පෙරනිමියෙන් streaming එන්ජිමක් මත collect ක්‍රියාත්මක කරයි.

Polars 2.0 පෙරනිමියෙන් streaming එන්ජිමක් මත collect ක්‍රියාත්මක කරයි. join, group_by සහ unpivot සඳහා, maintain_order හෝ sort පැහැදිලිව සකසා නොමැති නම්, මෙම නිකුතුව තවදුරටත් ආදාන පේළි අනුපිළිවෙල සහතික නොකරයි. අපගේ polars 2.0.0 ක්‍රියාත්මක කිරීමේදී, පේළි 2,000,000ක inner join එකක් පෙරනිමියෙන් ආදාන අනුපිළිවෙලින් පිටත පේළි ආපසු ලබා දුන් අතර, maintain_order සකසා ඇති විට අනුපිළිවෙල පවත්වා ගත්තේය. මෙම නිකුතුව out-of-core spilling ද සක්‍රිය කරන අතර benchmark හිමිකම් විකුණුම්කරුගේම ඒවා බවට පත් කරයි.

ලිඛිත සංස්කරණය කියවන්න (ඉංග්‍රීසි) ↗

මෙම වීඩියෝවෙන් ආවරණය වන දේ

  • lazy query එකක් මත collect() ඇමතීම දැන් පෙරනිමියෙන් streaming එන්ජිම භාවිතා කරයි, එය join, group_by සහ unpivot සඳහා පේළි අනුපිළිවෙල සහතික නොකරයි.
  • සංක්‍රමණ මාර්ගෝපදේශය පවසන්නේ අනුපිළිවෙල තවදුරටත් 2.0 පෙර අනුපිළිවෙල නොවන බවත් එය සහතික නොවන බවත්ය; ඔබ එය මත රඳා පවතින්නේ නම් පැහැදිලි වර්ග කිරීමක් නිර්දේශ කරයි.
  • අපගේ ක්‍රියාත්මක කිරීමේදී, පෙරනිමි inner join එකක් ආදාන අනුපිළිවෙල False ලෙස ආපසු ලබා දුන්නේය; join එක මත maintain_order="left_right" True ලෙස ආපසු ලබා දුන්නේය. එක් යන්ත්‍රයක්, එක් ක්‍රියාත්මක කිරීමක්, එක් join හැඩයක්.
  • Out-of-core spilling පෙරනිමියෙන් සක්‍රියයි: එය RAM වලින් 80 % පමණ ආරම්භ වේ, 64 GB පෙරනිමි තැටි අයවැයක් සමඟින්. Out-of-core join සහ group_by මාර්ග සිතියමෙහි ඇත.
  • collect_schema() දත්ත කියවීමට පෙර නැතිවූ තීරුවක් හඳුනා ගනී, නමුත් එක් අගයක් මත අසමත් වන cast එකක් අසමත් වන්නේ collect() හිදී පමණි.
  • TPC-H සහ TPC-DS සංසන්දනය යනු ලබාගත් දත්ත මත විකුණුම්කරුගේම ක්‍රියාත්මක කිරීමක් වන අතර, එහි පාද සටහන පවසන්නේ ප්‍රතිඵල නිල benchmarks සමඟ සැසඳිය නොහැකි බවයි.

පරිවර්තනය කරන ලද පිටපත

මුල් ඉංග්‍රීසි නිරූපණයෙන් පරිවර්තනය කරන ලදී. පවතින ශ්‍රව්‍ය සහ ශීර්ෂ පාඨ YouTube මගින් පාලනය වේ.

පෙරනිමි අනුපිළිවෙල වෙනස් වූයේ ඇයි?

0:00 ඔබ සිතන්නේ join එකක් ඔබ ලියූ අනුපිළිවෙලට ඔබේ පේළි නැවත ලබා දෙන බවයි. Polars 2.0 පෙරනිමියෙන්, හිතාමතාම, එය පොරොන්දු වීම නැවැත්වීය. මෙම වීඩියෝවේ: පෙරනිමිය වෙනස් වූයේ ඇයි? එයින් ලැබුණේ කුමක්ද? සහ ඔබේ කුමන scripts එකද මුලින්ම බිඳ වැටෙන්නේ? මෙය The Daily Diff, තිරය පිටුපසින්. Polars යනු විවෘත මූලාශ්‍ර DataFrame පුස්තකාලයකි: ඔබ Python වලින් අමතන table engine එකක්,

0:20 එහි හරය Rust වලින් ලියා ඇත. එය MIT බලපත්‍රය යටතේ නොමිලේ වන අතර, ඔබ එය pip install polars සමඟ ස්ථාපනය කරයි. මුලින්ම එක් විස්තරයක්. පැරණි අනුපිළිවෙල නැවත ගෙන එන switch එක join එකටම තර්කයක් වේ. මම අවසානයේ එය වෙත නැවත එන්නම්. 2.0 සිට, collect පෙරනිමියෙන් streaming engine ක්‍රියාත්මක කරයි. Streaming මඟින් query එක සමාන්තරව ක්‍රියාත්මක වන කොටස් වලට බෙදයි, සහ කොටස් ඒවා අවසන් වන විට අවසන් වේ.

0:42 join, group by සහ unpivot සඳහා, නිකුතුව අනුපිළිවෙලක් පොරොන්දු නොවේ. මුලින්ම බලපාන්නේ කාටද? ප්‍රතිදානය සුරැකි ගොනුවක් සමඟ, පේළියෙන් පේළියට සංසන්දනය කරන ඕනෑම අයෙකුට. එම පරීක්ෂණය ඔබේ ලැප්ටොප් එකේ සමත් වී වෙනත් යන්ත්‍රයක අසමත් විය හැක. ඊළඟට, සංක්‍රමණ මාර්ගෝපදේශය.

සංක්‍රමණ මාර්ගෝපදේශය පොරොන්දු වන්නේ කුමක්ද?

0:57 එය පවසන්නේ ඉහත පෙන්වා ඇති නිශ්චිත පේළි අනුපිළිවෙල සහතික නොවන බවයි. එබැවින් ඔබ අනුපිළිවෙල මත රඳා පවතින්නේ නම්, පැහැදිලිව වර්ග කරන්න. Out-of-core ද පෙරනිමියෙන් සක්‍රියයි. එය RAM වලින් අසූවක් පමණ ප්‍රතිශතයකදී තැටියට පිටාර ගැලීම ආරම්භ කරයි, ගිගාබයිට් හැට හතරක අයවැයක් සමඟින්. Sort, window functions සහ බොහෝ ප්‍රකාශන දැන් පිටාර ගැලිය හැක. Joins සහ group-bys පැමිණෙමින් තිබේ.

benchmark එක සාධාරණ සටනක්ද?

1:17 Polars පවසන්නේ එය TPC-H සහ TPC-DS benchmarks වලදී DataFusion සහ DuckDB පරාජය කරන බවයි. අංක ඔවුන්ගේම ක්‍රියාත්මක කිරීම් වලින්, ලබාගත් දත්ත මත ලබාගෙන ඇති අතර, ඔවුන්ගේ පාද සටහන පවසන්නේ ඒවා නිල ප්‍රතිඵල සමඟ සැසඳිය නොහැකි බවයි. ඔවුන්ගේම සංඛ්‍යා පවසන්නේ Polars TPC-H මත cores දහසය සිට සියයක් අනූ දෙක දක්වා තුනක් අට ගුණයක් පමණ වේගවත් වන බවයි. ඔවුන් තවදුරටත් පවසන්නේ විශාල යන්ත්‍රයේ අමතර threads කුඩා queries මන්දගාමී කරන බවයි. අපි Polars 2.0.0 මත එම join එක දෙවරක් ක්‍රියාත්මක කළා.

අපි එය ක්‍රියාත්මක කරන විට අපට පෙනෙන්නේ කුමක්ද?

1:41 පෙරනිමි ක්‍රියාත්මක කිරීම පේළි shuffle කරයි. ධජය සමඟින්, ආදාන අනුපිළිවෙල පවතී. පරීක්ෂණයක් පෝෂණය කරන joins සොයන්න. එය පසුපස sort එකක් නොමැති ඕනෑම join එකක් ඔබ කිසිදා නොකළ පේළි අනුපිළිවෙල තීරණයකි. Polars 2.0 types ගැන වඩාත් දැඩියි. schema check එක මඟින් කිසිදු දත්තයක් කියවීමට පෙර නැතිවූ තීරුවක් හඳුනා ගනී.

වඩා දැඩි වීම යනු කලින් වීමද?

1:58 එය එක් පේළියක් මත අසමත් වන cast එකක් හඳුනා ගත නොහැක, මන්ද එම දෝෂය දත්ත එනතුරු බලා සිටින බැවිනි. දැන් මම විවෘත කළ loop එක. switch එක join එක මත පවතී.

මට පැරණි අනුපිළිවෙල නැවත ලබා ගත හැක්කේ කෙසේද?

2:08 join එක මත maintain order සකසන්න, නැතහොත් එය පසුපස sort එකක් එක් කරන්න. මාර්ගෝපදේශය sort එක යෝජනා කරයි. join flag එක අපගේ ක්‍රියාත්මක කිරීමේදී අනුපිළිවෙල තබා ගත්තේය, වම් පැත්තේ අනුපිළිවෙල left, right ලෙස තබා ගත්තේය. තිරය ​​පිටුපසින් තීන්දුව: සමාලෝචනය අවශ්‍යයි. උත්ශ්‍රේණි කිරීමට පෙර මම සෑම join එකක්ම සමාලෝචනය කරමි.

තීන්දුව කුමක්ද?

2:22 මේ ගැන ප්‍රශ්නයක් තිබේද? එය අදහස් දැක්වීම් වලට දමන්න. සහ අද සඳහා වෙනස එයයි. මම Axrisi වෙතින් Niko. වගකීමෙන් යුතුව ඒකාබද්ධ කරන්න. වගකීමෙන් යුතුව ඒකාබද්ධ කරන්න.

මූලාශ්‍ර

  1. Release of Polars 2.0Polars (pola.rs)
  2. Polars 2.0 upgrade guidePolars documentation
  3. Polars homepagePolars (pola.rs)
  4. polars-2.0-benchmark repositoryPolars on GitHub
  5. Release of Polars 2.0 (Hacker News discussion)Hacker News

අදාළ වීඩියෝ

daily · si · 2026 වප් 7

Hono පිටතින් එන pull requests සීමා කරයි, නඩත්තු කරන්නන් දායකත්වය භාරගැනීම ගැන නැවත සලකා බලයි

Hono, එහි MIT-ලයිසන්ගත කේතය රඳවා ගනිමින්, බාහිර pull-request නිර්මාණය අක්‍රීය කළේය. Sindre Sorhus තමන්ගේ repository සීමා කිරීම් සඳහා AI හේතු වූ බව පැවසූ අතර නඩත්තු කිරීම සහ ගැටළු හැසිරවීම දිගටම සිදුවන

5:22 ↗
daily · si · 2026 වප් 7

ගූගල් JPEG XL නැවත Chrome වෙත ගෙන එයි

ගූගල් කලින් අත්හදා බැලීමක් ඉවත් කිරීමෙන් පසු Chrome 155 සමඟින් JPEG XL විකේතනය කිරීම නිවේදනය කළේය. මෙම ඔක්තෝබර් 7 වන දින සංස්කරණය මඟින් සංවර්ධක ප්‍රතිපෝෂණ, නව Rust විකේතකය, තරඟකාරී සම්පීඩන හිමිකම් සහ

5:17 ↗
daily · si · 2026 වප් 1

Gemini 4 Argon යනු Google හි හොඳම මාදිලියයි. ඔබට එය තවම භාවිතා කළ නොහැක.

Google විසින් Gemini 4 Argon, එහි නව මාදිලිය, නිවේදනය කළ අතර විශ්වාසනීය සයිබර් ආරක්ෂකයින්ට පමණක් එය භාවිතා කළ හැකිය. Google හිම 19-පේළි මිණුම් සටහන, ස්වාධීන ශ්‍රේණිගත කිරීම් සහ සංවර්ධකයින්ට එය ලබා ගත

4:53 ↗
under-the-hood · si · 2026 බිනර 24

SAML, තිරය පිටුපස: ලිපිය ඇතුළත ඇති අත්සන

SAML මඟින් ඔබව සෑම වැඩ යෙදුමකටම පාහේ ලොග් කරන අතර, එහි අත්සන එය අත්සන් කරන XML තුළ පවතී. තිරය පිටුපස: යෙදුම, බ්‍රවුසරය සහ අනන්‍යතා සපයන්නා අතර ලොගින් නැටුම, ප්‍රකාශයක් පෙනෙන්නේ කෙසේද, සෑම බයිටයකටම එකඟ

3:02 ↗