Giới thiệu chế độ lazy

Nhập môn Polars

Liam Brannigan

Data Scientist & Polars Contributor

Eager mode

(
    pl.read_csv("vacation_rentals.csv")


)
  • Nạp CSV vào DataFrame

Lazy mode

Nhập môn Polars

Eager mode

(
    pl.read_csv("vacation_rentals.csv")


)
  • Nạp CSV vào DataFrame

Lazy mode

(
    pl.scan_csv("vacation_rentals.csv")


)
  • Bắt đầu query plan
  • Đọc vài dòng đầu của CSV
Nhập môn Polars

Eager mode

(
    pl.read_csv("vacation_rentals.csv")


)
| name     | type    | ... | beach |
| ---      | ---     | ... | ---   |
| str      | str     | ... | bool  |
|----------|---------| ... |-------|
| Waves    | Cottage | ... | false |
| Seashell | Cottage | ... | true  |
| ...      | ...     | ... | ...   |

Lazy mode

(
    pl.scan_csv("vacation_rentals.csv")


)
naive plan: 

Csv SCAN [vacation_rentals.csv]
PROJECT */8 COLUMNS
Nhập môn Polars

Eager mode

(
    pl.read_csv("vacation_rentals.csv")
    .select("name","price")

)

Lazy mode

Nhập môn Polars

Eager mode

(
    pl.read_csv("vacation_rentals.csv")
    .select("name","price")

)

Lazy mode

(
    pl.scan_csv("vacation_rentals.csv")
    .select("name","price")

)
  • Cập nhật kế hoạch truy vấn
  • Tối ưu kế hoạch truy vấn
Nhập môn Polars

Kế hoạch truy vấn đã tối ưu

print(
    pl.scan_csv("vacation_rentals.csv")
    .select("name","price")
    .explain()
)
Csv SCAN [vacation_rentals.csv]

PROJECT 2/8 COLUMNS
  • Tối ưu hóa: projection pushdown
Nhập môn Polars

Thực thi truy vấn lazy

(
    pl.scan_csv("vacation_rentals.csv")
    .select("name","price")
    .collect()
)
shape: (49, 2)
| name      | price |
| ---       | ---   |
| str       | i64   |
|-----------|-------|
| Waves     | 540   |
| Seashells | 540   |
| ...       | ...   |
Nhập môn Polars

Eager mode vs. lazy mode

(
    pl.read_csv("vacation_rentals.csv")
    .select("name","price")

)
  • Từng dòng
(
    pl.scan_csv("vacation_rentals.csv")
    .select("name","price")
    .collect()
)
  • Toàn bộ truy vấn
Nhập môn Polars

Eager mode vs. lazy mode

Một gấu Bắc Cực đang chạy và một gấu Polars đang ngủ

  • từng bước: eager mode
  • gỡ lỗi: eager mode
  • hiệu năng tối ưu: lazy mode
Nhập môn Polars

Vamos praticar!

Nhập môn Polars

Preparing Video For Download...