polars.scan_pyarrow_dataset
-
Сканирует набор данных 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 │ └───────┴────────┴────────────┘
polars.scan_pyarrow_dataset(
source: pa.dataset.Dataset,
*,
allow_pyarrow_filter: bool = True,
batch_size: int | None = None,
) → LazyFrame
© 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