Hub documentation

Polars

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Polars

Polars๋Š” OLAP ์ฟผ๋ฆฌ ์—”์ง„ ์œ„์— ๊ตฌ์ถ•๋œ ์ธ๋ฉ”๋ชจ๋ฆฌ DataFrame ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. ๋น ๋ฅด๊ณ  ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฌ์šฐ๋ฉฐ ์˜คํ”ˆ ์†Œ์Šค์ž…๋‹ˆ๋‹ค.

1.2.0 ๋ฒ„์ „๋ถ€ํ„ฐ Polars๋Š” Hugging Face ํŒŒ์ผ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ๋„ค์ดํ‹ฐ๋ธŒ ์ง€์›์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” Polars ์ฟผ๋ฆฌ ์ตœ์ ํ™”๊ธฐ์˜ ๋ชจ๋“  ์ด์ (์˜ˆ: ์กฐ๊ฑด ๋ฐ ํˆฌ์‚ฌ ํ‘ธ์‹œ๋‹ค์šด)์ด ์ ์šฉ๋˜๊ณ , ์ฟผ๋ฆฌ๋ฅผ ์™„๋ฃŒํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋งŒ ๋กœ๋“œํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํŠนํžˆ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ์…‹์˜ ์ฝ๊ธฐ ์†๋„๊ฐ€ ํฌ๊ฒŒ ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค(์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ตœ์ ํ™”๋ฅผ ์ฐธ์กฐ).

Hugging Face ๊ฒฝ๋กœ(hf://)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Hub์˜ ๋ฐ์ดํ„ฐ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

์‹œ์ž‘ํ•˜๊ธฐ

์‹œ์ž‘ํ•˜๋ ค๋ฉด pip install์„ ์‚ฌ์šฉํ•˜์—ฌ Polars๋ฅผ ํ™˜๊ฒฝ์— ์„ค์น˜ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค:

pip install polars

Polars๋ฅผ ์„ค์น˜ํ•œ ํ›„์—๋Š” Hugging Face URL์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ์ดํ„ฐ์…‹์„ ์ง์ ‘ ์ฟผ๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๋‹ค๋ฅธ ์˜์กด์„ฑ์€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

import polars as pl

pl.read_parquet("hf://datasets/roneneldan/TinyStories/data/train-00000-of-00004-2d5a1467fff1081b.parquet")

Polars๋Š” ๋‘ ๊ฐ€์ง€ API๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค: lazy API(scan_parquet)์™€ eager API(read_parquet). ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ์›Œํฌ๋กœ๋“œ์—๋Š” eager API๋ฅผ, ๋” ๋‚˜์€ ์ฟผ๋ฆฌ ์ตœ์ ํ™”๋ฅผ ํ†ตํ•ด ์„ฑ๋Šฅ์„ ๋†’์ผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์„ฑ๋Šฅ ์ตœ์ ํ™”์—๋Š” lazy API ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด ์ฃผ์ œ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Polars ์‚ฌ์šฉ์ž ๊ฐ€์ด๋“œ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

Polars๋Š” globbing์„ ์ง€์›ํ•˜์—ฌ ์—ฌ๋Ÿฌ ํŒŒ์ผ์„ ํ•œ ๋ฒˆ์— ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ๋‹จ์ผ DataFrame์œผ๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

pl.read_parquet("hf://datasets/roneneldan/TinyStories/data/train-*.parquet")

Hugging Face URL

Hugging Face URL์€ username๊ณผ dataset ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • hf://datasets/{username}/{dataset}/{path_to_file}

๊ฒฝ๋กœ์—๋Š” **/*.parquet์™€ ๊ฐ™์€ globbing ํŒจํ„ด์„ ํฌํ•จํ•˜์—ฌ ํ•ด๋‹น ํŒจํ„ด์— ์ผ์น˜ํ•˜๋Š” ๋ชจ๋“  ํŒŒ์ผ์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ์ง€์›๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ ํ˜•์‹์˜ ๊ฒฝ์šฐ Hugging Face๊ฐ€ ์ œ๊ณตํ•˜๋Š” @~parquet branch๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž๋™ ๋ณ€ํ™˜๋œ parquet ํŒŒ์ผ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • hf://datasets/{my-username}/{my-dataset}@~parquet/{path_to_file}
Update on GitHub