Spec-Zone.ru › Polars

polars.scan_pyarrow_dataset

polars.scan_pyarrow_dataset(
    source: pa.dataset.Dataset,
    *,
    allow_pyarrow_filter: bool = True,
    batch_size: int | None = None,
) → LazyFrame

Сканирует набор данных pyarrow.

Предупреждение

Эта функциональность считается нестабильной. Она может быть изменена в любой момент без того, чтобы это считалось несовместимым изменением.

Это может быть полезно для подключения к облачным наборам данных или наборам данных с разбиением на разделы.

Параметры:
source

Набор данных PyArrow для сканирования.

allow_pyarrow_filter

Разрешить передачу предикатов в pyarrow. Это может привести к различным результатам, если сравнения выполняются с нулевыми значениями, поскольку pyarrow обрабатывает их иначе, чем polars.

batch_size

Максимальное количество строк в сканируемых пакетах записей pyarrow.

Предупреждение

Не используйте это, если принимаете недоверенные данные от пользователей. Предикаты будут вычисляться с помощью python ‘eval’. Предусмотрена очистка данных, но этот метод всё равно может стать вектором атаки. Этот метод может передавать в нижележащие уровни только предикаты, разрешённые PyArrow (например, не весь API Polars).

Если для вашего источника подходит scan_parquet(), используйте его.

Примечания

При использовании разбиения на разделы перед передачей в Polars необходимо установить соответствующий параметр partitioning для pyarrow.dataset.dataset, иначе столбец(ы), по которым выполняется разбиение, могут не быть переданы в Polars.

Примеры

>>> import pyarrow.dataset as ds
>>> dset = ds.dataset("s3://my-partitioned-folder/", format="ipc")  
>>> (
...     pl.scan_pyarrow_dataset(dset)
...     .filter("bools")
...     .select("bools", "floats", "date")
...     .collect()
... )  
shape: (1, 3)
┌───────┬────────┬────────────┐
│ bools ┆ floats ┆ date       │
│ ---   ┆ ---    ┆ ---        │
│ bool  ┆ f64    ┆ date       │
╞═══════╪════════╪════════════╡
│ true  ┆ 2.0    ┆ 1970-05-04 │
└───────┴────────┴────────────┘

© 2020 Ritchie Vink
© 2022 Polars contributors
Licensed under the MIT License.
https://docs.pola.rs/api/python/stable/reference/api/polars.scan_pyarrow_dataset.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API