+− THE DAILY DIFFdev & AI news
NEEDS REVIEW

Polars 2.0: ເປັນຫຍັງການຮ່ວມບໍ່ຮັກສາລຳດັບແຖວອີກຕໍ່ໄປ

Polars 2.0 ໃຊ້ collect ໃນເຄື່ອງຈັກສະຕຣີມມິງໂດຍຄ່າເລີ່ມຕົ້ນ.

Polars 2.0 ໃຊ້ collect ໃນເຄື່ອງຈັກສະຕຣີມມິງໂດຍຄ່າເລີ່ມຕົ້ນ. ສໍາລັບ join, group_by ແລະ unpivot, ລຸ້ນນີ້ບໍ່ຮັບປະກັນລຳດັບແຖວປ້ອນເຂົ້າອີກຕໍ່ໄປ ເວັ້ນເສຍແຕ່ວ່າທ່ານຈະກຳນົດ maintain_order ຫຼື sort ຢ່າງຊັດເຈນ. ໃນການທົດສອບຂອງພວກເຮົາໃນ polars 2.0.0, ການ join ແບບ inner 2,000,000 ແຖວ ໄດ້ສົ່ງຄືນແຖວອອກຈາກລຳດັບປ້ອນເຂົ້າໂດຍຄ່າເລີ່ມຕົ້ນ ແລະ ຮັກສາລຳດັບໄວ້ດ້ວຍ maintain_order. ລຸ້ນນີ້ຍັງເປີດການກ່າຍຂໍ້ມູນນອກຫຼັກ (out-of-core spilling) ແລະ ເຮັດໃຫ້ການອ້າງອີງມາດຕະຖານເປັນຂອງຜູ້ຂາຍເອງ.

ອ່ານສະບັບລາຍລັກອັກສອນ (ພາສາອັງກິດ) ↗

ສິ່ງທີ່ວິດີໂອນີ້ກວມເອົາ

  • ການເອີ້ນ collect() ໃນ lazy query ຕອນນີ້ໃຊ້ເຄື່ອງຈັກສະຕຣີມມິງໂດຍຄ່າເລີ່ມຕົ້ນ, ເຊິ່ງບໍ່ຮັບປະກັນລຳດັບແຖວສຳລັບ join, group_by ແລະ unpivot.
  • ຄູ່ມືການຍົກລະດັບກ່າວວ່າ ລຳດັບບໍ່ແມ່ນລຳດັບກ່ອນ 2.0 ອີກຕໍ່ໄປ ແລະ ບໍ່ຮັບປະກັນ; ມັນແນະນຳໃຫ້ຈັດລຽງຢ່າງຊັດເຈນ ຖ້າທ່ານອີງໃສ່ມັນ.
  • ໃນການທົດສອບຂອງພວກເຮົາ, ການ join ແບບ inner ໂດຍຄ່າເລີ່ມຕົ້ນໄດ້ສົ່ງຄືນຄ່າ False; maintain_order="left_right" ໃນການ join ໄດ້ສົ່ງຄືນຄ່າ True. ເຄື່ອງດຽວ, ການທົດສອບດຽວ, ຮູບແບບການ join ດຽວ.
  • ການກ່າຍຂໍ້ມູນນອກຫຼັກ (Out-of-core spilling) ເປີດໃຊ້ງານໂດຍຄ່າເລີ່ມຕົ້ນ: ມັນເລີ່ມຕົ້ນທີ່ປະມານ 80% ຂອງ RAM, ດ້ວຍງົບປະມານດິສກ໌ເລີ່ມຕົ້ນ 64 GB. ການ join ແລະ group_by ແບບ out-of-core ແມ່ນຢູ່ໃນແຜນງານ.
  • collect_schema() ຈັບຄໍລຳທີ່ຂາດຫາຍໄປກ່ອນທີ່ຈະອ່ານຂໍ້ມູນໃດໆ, ແຕ່ການ cast ທີ່ລົ້ມເຫຼວໃນຄ່າດຽວຈະລົ້ມເຫຼວໃນຕອນ collect() ເທົ່ານັ້ນ.
  • ການປຽບທຽບ TPC-H ແລະ TPC-DS ແມ່ນການທົດສອບຂອງຜູ້ຂາຍເອງກ່ຽວກັບຂໍ້ມູນທີ່ໄດ້ມາ, ແລະ ໝາຍເຫດກ່າວວ່າຜົນໄດ້ຮັບບໍ່ສາມາດປຽບທຽບກັບມາດຕະຖານທາງການໄດ້.

ບົດບັນທຶກທີ່ແປແລ້ວ

ແປຈາກຄຳບັນຍາຍຕົ້ນສະບັບພາສາອັງກິດ. ສຽງ ແລະ ຄຳບັນຍາຍທີ່ມີໃຫ້ແມ່ນຄວບຄຸມໂດຍ YouTube.

ເປັນຫຍັງຄ່າເລີ່ມຕົ້ນຈຶ່ງປ່ຽນແປງ?

0:00 ທ່ານຄິດວ່າການ join ສົ່ງຄືນແຖວຂອງທ່ານຕາມລຳດັບທີ່ທ່ານຂຽນ. Polars 2.0 ໄດ້ຢຸດເຊົາການສັນຍາແບບນັ້ນ, ໂດຍຄ່າເລີ່ມຕົ້ນ, ໂດຍຕັ້ງໃຈ. ໃນວິດີໂອນີ້: ເປັນຫຍັງຄ່າເລີ່ມຕົ້ນຈຶ່ງປ່ຽນແປງ? ມັນຊື້ຫຍັງ? ແລະ script ໃດຂອງເຈົ້າຈະເສຍກ່ອນ? ນີ້ແມ່ນ The Daily Diff, ເບື້ອງຫຼັງ. Polars ແມ່ນຫ້ອງສະໝຸດ DataFrame ແບບ open-source: ເຄື່ອງຈັກຕາຕະລາງທີ່ທ່ານເອີ້ນຈາກ Python,

0:20 ດ້ວຍແກນຫຼັກທີ່ຂຽນດ້ວຍ Rust. ມັນບໍ່ເສຍຄ່າພາຍໃຕ້ໃບອະນຸຍາດ MIT, ແລະທ່ານຕິດຕັ້ງມັນດ້ວຍ pip install polars. ລາຍລະອຽດໜຶ່ງກ່ອນ. ປຸ່ມທີ່ນໍາລຳດັບເກົ່າກັບມາແມ່ນ argument ຂອງການ join ນັ້ນເອງ. ຂ້ອຍຈະກັບມາເວົ້າເຖິງມັນໃນຕອນທ້າຍ. ຕັ້ງແຕ່ 2.0, collect ໃຊ້ເຄື່ອງຈັກສະຕຣີມມິງໂດຍຄ່າເລີ່ມຕົ້ນ. Streaming ແຍກ query ອອກເປັນສ່ວນໆທີ່ເຮັດວຽກພ້ອມກັນ, ແລະສ່ວນຕ່າງໆຈະສຳເລັດເມື່ອພວກມັນສຳເລັດ.

0:42 ສຳລັບ join, group by ແລະ unpivot, ລຸ້ນນີ້ບໍ່ໄດ້ສັນຍາລຳດັບ. ໃຜຈະຖືກກະທົບກ່ອນ? ໃຜກໍຕາມທີ່ປຽບທຽບຜົນໄດ້ຮັບກັບໄຟລ໌ທີ່ບັນທຶກໄວ້, ແຖວຕໍ່ແຖວ. ການທົດສອບນັ້ນສາມາດຜ່ານໃນ laptop ຂອງທ່ານ ແລະ ລົ້ມເຫຼວໃນເຄື່ອງອື່ນ. ຕໍ່ໄປ, ຄູ່ມືການຍົກລະດັບ.

ຄູ່ມືການຍົກລະດັບສັນຍາຫຍັງ?

0:57 ມັນກ່າວວ່າລຳດັບແຖວທີ່ສະແດງຢູ່ຂ້າງເທິງບໍ່ໄດ້ຮັບປະກັນ. ດັ່ງນັ້ນຖ້າທ່ານອີງໃສ່ລຳດັບ, ຈັດລຽງຢ່າງຊັດເຈນ. Out-of-core ກໍເປີດໃຊ້ງານໂດຍຄ່າເລີ່ມຕົ້ນເຊັ່ນກັນ. ມັນເລີ່ມກ່າຍຂໍ້ມູນໄປຫາດິສກ໌ທີ່ປະມານ 80 ສ່ວນຮ້ອຍຂອງ RAM, ດ້ວຍງົບປະມານຫົກສິບສີ່ກິກະໄບ. Sort, window functions ແລະຫຼາຍ expression ສາມາດກ່າຍຂໍ້ມູນໄດ້ຕອນນີ້. Joins ແລະ group-bys ກຳລັງຈະມາ.

ການທົດສອບເປັນການຕໍ່ສູ້ທີ່ຍຸດຕິທຳບໍ?

1:17 Polars ກ່າວວ່າມັນດີກວ່າ DataFusion ແລະ DuckDB ໃນ TPC-H ແລະ TPC-DS ມາດຕະຖານ. ຕົວເລກມາຈາກການທົດສອບຂອງພວກເຂົາເອງ, ກ່ຽວກັບຂໍ້ມູນທີ່ໄດ້ມາ, ແລະໝາຍເຫດຂອງພວກເຂົາກ່າວວ່າພວກມັນບໍ່ສາມາດປຽບທຽບກັບຜົນທາງການໄດ້. ຕົວເລກຂອງພວກເຂົາເອງກ່າວວ່າ Polars ໄວຂຶ້ນປະມານສາມຈຸດແປດເທົ່າຈາກ ສິບຫົກຄໍໄປຫາໜຶ່ງຮ້ອຍເກົ້າສິບສອງ, ໃນ TPC-H. ພວກເຂົາຍັງກ່າວວ່າ thread ເພີ່ມເຕີມຂອງເຄື່ອງໃຫຍ່ເຮັດໃຫ້ query ນ້ອຍໆຊ້າລົງ.

ພວກເຮົາເຫັນຫຍັງເມື່ອພວກເຮົາທົດລອງມັນ?

1:41 ພວກເຮົາໄດ້ທົດສອບການ join ເດີມສອງຄັ້ງໃນ Polars 2.0.0. ການທົດສອບໂດຍຄ່າເລີ່ມຕົ້ນເຮັດໃຫ້ແຖວປົນກັນ. ດ້ວຍ flag, ລຳດັບປ້ອນເຂົ້າຈະຍັງຄົງຢູ່. ຊອກຫາການ join ທີ່ນຳໄປສູ່ການທົດສອບ. ການ join ໃດໆທີ່ບໍ່ມີ sort ຫຼັງຈາກນັ້ນແມ່ນການຕັດສິນໃຈລຳດັບແຖວທີ່ທ່ານບໍ່ເຄີຍເຮັດ. Polars 2.0 ເຂັ້ມງວດຂຶ້ນກ່ຽວກັບປະເພດ.

ເຂັ້ມງວດກວ່າໝາຍເຖິງໄວກວ່າບໍ?

1:58 ການກວດສອບ schema ຈັບຄໍລຳທີ່ຂາດຫາຍໄປກ່ອນທີ່ຈະອ່ານຂໍ້ມູນໃດໆ. ມັນບໍ່ສາມາດຈັບການ cast ທີ່ລົ້ມເຫຼວໃນແຖວດຽວໄດ້, ເພາະວ່າຄວາມຜິດພາດນັ້ນລໍຖ້າ ຂໍ້ມູນ. ຕອນນີ້ loop ທີ່ຂ້ອຍໄດ້ເປີດ.

ຂ້ອຍຈະເອົາລຳດັບເກົ່າຄືນມາໄດ້ແນວໃດ?

2:08 ປຸ່ມຢູ່ທີ່ການ join. ກຳນົດ maintain order ໃນການ join, ຫຼືເພີ່ມ sort ຫຼັງຈາກນັ້ນ. ຄູ່ມືແນະນຳໃຫ້ໃຊ້ sort. join flag ຮັກສາລຳດັບໄວ້ໃນການທົດສອບຂອງພວກເຮົາ, ໂດຍມີລຳດັບຂອງຝ່າຍຊ້າຍຖືກຮັກສາໄວ້ເປັນ ຊ້າຍ, ຂວາ. ຄໍາຕັດສິນ, ເບື້ອງຫຼັງ: NEEDS REVIEW.

ຄຳຕັດສິນແມ່ນຫຍັງ?

2:22 ຂ້ອຍຈະທົບທວນການ join ທຸກຄັ້ງກ່ອນການຍົກລະດັບ. ມີຄໍາຖາມກ່ຽວກັບເລື່ອງນີ້ບໍ? ໃສ່ໄວ້ໃນຄໍາເຫັນ. ແລະນັ້ນຄືຄວາມແຕກຕ່າງສໍາລັບມື້ນີ້. ຂ້ອຍຊື່ Niko ຈາກ Axrisi. Merge ຢ່າງມີຄວາມຮັບຜິດຊອບ.

ແຫຼ່ງຂໍ້ມູນ

  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 · lo · 7 ຕ.ລ. 2026

Hono ຈຳກັດການດຶງຄຳຮ້ອງຂໍຈາກພາຍນອກ ເນື່ອງຈາກຜູ້ຮັກສາໂຄງການພິຈາລະນາການຮັບເອົາການປະກອບສ່ວນຄືນໃໝ່

Hono ໄດ້ປິດການສ້າງຄຳຮ້ອງຂໍການດຶງຈາກພາຍນອກ ໃນຂະນະທີ່ຍັງຄົງຮັກສາລະຫັດທີ່ໄດ້ຮັບອະນຸຍາດແບບ MIT. Sindre Sorhus ແຍກຕ່າງຫາກໄດ້ກ່າວເຖິງຂໍ້ຈຳກັດຂອງບ່ອນເກັບຂໍ້ມູນຂອງຕົນເອງກັບ AI ແລະກ່າວວ່າການບຳລຸງຮັກສາ ແລະການຈັ

5:22 ↗
daily · lo · 7 ຕ.ລ. 2026

Google ນໍາ JPEG XL ກັບຄືນສູ່ Chrome

Google ປະກາດການຖອດລະຫັດ JPEG XL ໂດຍເລີ່ມຕົ້ນດ້ວຍ Chrome 155 ຫຼັງຈາກການທົດລອງກ່ອນໜ້ານີ້ຖືກລຶບອອກ. ສະບັບວັນທີ 7 ຕຸລານີ້ກວດກາຄໍາຄິດເຫັນຂອງນັກພັດທະນາ, ເຄື່ອງຖອດລະຫັດ Rust ໃໝ່, ການຮຽກຮ້ອງການບີບອັດທີ່ແຂ່ງຂັ

5:17 ↗
daily · lo · 1 ຕ.ລ. 2026

Gemini 4 Argon ແມ່ນຕົວແບບທີ່ດີທີ່ສຸດຂອງ Google. ທ່ານຍັງບໍ່ສາມາດນຳໃຊ້ມັນໄດ້ເທື່ອ.

Google ໄດ້ປະກາດ Gemini 4 Argon, ຕົວແບບຊັ້ນນຳໃໝ່ຂອງຕົນ, ແລະ ມີພຽງແຕ່ນັກປ້ອງກັນໄພໄຊເບີທີ່ເຊື່ອຖືໄດ້ເທົ່ານັ້ນທີ່ສາມາດນຳໃຊ້ມັນໄດ້. ນີ້ແມ່ນສິ່ງທີ່ຕາຕະລາງ benchmark 19 ແຖວຂອງ Google ສະແດງໃຫ້ເຫັນ, ສິ່ງທີ່ກະດ

4:53 ↗
under-the-hood · lo · 24 ກ.ຍ. 2026

SAML, ພາຍໃຕ້ຜ້າຄຸມ: ລາຍເຊັນພາຍໃນຈົດໝາຍ

SAML ລົງຊື່ເຂົ້າໃຊ້ທ່ານເຂົ້າໃນເກືອບທຸກແອັບເຮັດວຽກ, ແລະລາຍເຊັນຂອງມັນອາໄສຢູ່ພາຍໃນ XML ທີ່ມັນເຊັນ. ພາຍໃຕ້ຜ້າຄຸມ: ການເຕັ້ນລຳການເຂົ້າສູ່ລະບົບລະຫວ່າງແອັບ, ບຣາວເຊີ ແລະຜູ້ໃຫ້ບໍລິການຕົວຕົນ, ການຢືນຢັນເປັນແນວໃດ,

3:02 ↗