πŸ“ Polars 2.0 Π²Ρ‹ΡˆΠ΅Π»: стриминг ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, spill Π½Π° диск ΠΈ ΠΎΠ±Π³ΠΎΠ½ DuckDB Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…

6 октября Π ΠΈΡ‚Ρ‡ΠΈ Π’ΠΈΠ½ΠΊ выпустил Polars 2.0. Π“Π»Π°Π²Π½ΠΎΠ΅: collect Π½Π° LazyFrame Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ streaming-Π΄Π²ΠΈΠΆΠΎΠΊ, Ρ‡Ρ‚ΠΎ Π΄Π°Ρ‘Ρ‚ Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹ΠΉ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Ρˆ ΠΏΠΎ памяти ΠΈ скорости Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ запросов.Β 

ВмСстС с Π½ΠΈΠΌ Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ out-of-core: спил Π½Π° диск начинаСтся ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΏΡ€ΠΈ 80% ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, Π±ΡŽΠ΄ΠΆΠ΅Ρ‚ диска ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ 64 Π“Π‘. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ°, ΠΎΠΊΠΎΠ½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ выраТСния это ΡƒΠΆΠ΅ ΡƒΠΌΠ΅ΡŽΡ‚, внСшниС join ΠΈ group by Π² ΠΏΠ»Π°Π½Π°Ρ….

SQL стал ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΌ интСрфСйсом, Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» пСрСстановку join, Π»ΡƒΡ‡ΡˆΠ΅Π΅ устранСниС ΠΎΠ±Ρ‰ΠΈΡ… ΠΏΠΎΠ΄ΠΏΠ»Π°Π½ΠΎΠ² ΠΈ динамичСскиС ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°ΠΌΠΈ Π‘Π»ΡƒΠΌΠ°. Появился Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ dtype Map вмСсто List(Struct(key, value)) с выраТСниями map.get, map.contains_key, map.keys ΠΈ map.values.

Π‘Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΈ Π½Π° основС TPC-H ΠΈ TPC-DS (Π½Π΅ сравнимы с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ) ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ Π½Π° SF100 ΠΏΡ€ΠΈ ростС с 16 Π΄ΠΎ 192 vCPU Polars ускоряСтся Π² 3,8 Ρ€Π°Π·Π° Π½Π° TPC-H ΠΈ Π² 2,2 Ρ€Π°Π·Π° Π½Π° TPC-DS, DuckDB 1.5.6 Π² 3,2 ΠΈ 1,9 Ρ€Π°Π·Π°, DataFusion Π² 1,7 ΠΈ 1,0. Но Π½Π° SF10 ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π° чСстнСС: Π½Π° TPC-H Polars Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅, Π° Π½Π° TPC-DS ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ Π² 1,8 Ρ€Π°Π·Π°. Π’ΠΈΠ½ΠΎΠΉ постоянный ΠΎΠ²Π΅Ρ€Ρ…Π΅Π΄ Π½Π° 192 ΠΏΠΎΡ‚ΠΎΠΊΠ°Ρ…, ΠΏΡ€ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΈ 32 ядрами Polars ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π΅Π½ Π²Π΅Π·Π΄Π΅, исправлСниС ΠΎΠ±Π΅Ρ‰Π°ΡŽΡ‚ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ€Π΅Π»ΠΈΠ·Π΅.

Π‘Π°ΠΌΠΎΠ΅ Π²Π°ΠΆΠ½ΠΎΠ΅ для ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ: streaming-Π΄Π²ΠΈΠΆΠΎΠΊ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ порядок строк Π² join, group_by ΠΈ unpivot, Π½ΡƒΠΆΠ΅Π½ maintain_order=True. Ошибки Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‚ Ρ€Π°Π½ΡŒΡˆΠ΅, Π° нСявная ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° нСсоотвСтствий Π΄Π°Π½Π½Ρ‹Ρ… стала ΠΎΠΏΡ†ΠΈΠ΅ΠΉ. Π“Π°ΠΉΠ΄ ΠΏΠΎ Π°ΠΏΠ³Ρ€Π΅ΠΉΠ΄Ρƒ Π΅ΡΡ‚ΡŒ Π½Π° docs.pola.rs.

https://pola.rs/posts/release-polars-2/
Views: 586
Open in MAX Report an inaccuracy

Report an inaccuracy

Describe what needs fixing. If you have a source, add a link.

You are leaving datool.ru

The link leads to an external website. datool.ru is not responsible for its content β€” check the address before entering passwords or payment details.

Redirecting in 10 s

Go