# Polars

[Polars](https://pola.rs/) adalah pustaka DataFrame in-memory di atas mesin kueri [OLAP](https://en.wikipedia.org/wiki/Online_analytical_processing). Pustaka ini cepat, mudah digunakan, dan [open source](https://github.com/pola-rs/polars/).

Sejak versi `1.2.0`, Polars menyediakan dukungan _native_ untuk sistem file Hugging Face. Artinya, semua keuntungan dari query optimizer Polars (misalnya predicate dan projection pushdown) diterapkan, dan Polars hanya akan memuat data yang diperlukan untuk menyelesaikan query. Hal ini secara signifikan mempercepat proses pembacaan, terutama untuk dataset besar (lihat [optimizations](./datasets-polars-optimizations))

Anda dapat menggunakan jalur Hugging Face (`hf://`) untuk mengakses data di Hub:

## Memulai

Untuk memulai, Anda cukup `pip install` Polars ke lingkungan Anda:

```bash
pip install polars
```

Setelah Anda menginstal Polars, Anda dapat langsung melakukan kueri pada dataset berdasarkan URL Hugging Face. Tidak ada dependensi lain yang diperlukan untuk ini.

```python
import polars as pl

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

> [!TIP]
> Polars menyediakan dua API: API lazy (`scan_parquet`) dan API eager (`read_parquet`). Kami merekomendasikan penggunaan API eager untuk workload interaktif dan API lazy untuk performa, karena memungkinkan optimasi query yang lebih baik. Untuk informasi lebih lanjut tentang topik ini, lihat [panduan pengguna Polars](https://docs.pola.rs/user-guide/concepts/lazy-api/#when-to-use-which).

Polars mendukung globbing untuk mengunduh beberapa file sekaligus ke dalam satu DataFrame.

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

### URL Hugging Face

URL Hugging Face dapat dibuat dari `username` dan nama `dataset` seperti ini:

- `hf://datasets/{username}/{dataset}/{path_to_file}`

Path dapat mencakup pola globbing seperti `**/*.parquet` untuk menanyakan semua file yang cocok dengan pola tersebut. Selain itu, untuk [format file](./datasets-polars-file-formats) yang tidak didukung, Anda dapat menggunakan file parquet yang dikonversi secara otomatis yang disediakan oleh Hugging Face menggunakan `@~parquet branch`:

- `hf://datasets/{my-username}/{my-dataset}@~parquet/{path_to_file}`

