Spec-Zone.ru › Polars

polars.scan_arrow_c_stream

polars.scan_arrow_c_stream(
    source: Any,
) → LazyFrame

Сканирует источник, реализующий интерфейс Arrow PyCapsule.

Создаёт ленивое сканирование объекта, предоставляющего метод __arrow_c_stream__ (например, pyarrow.RecordBatchReader или поток nanoarrow). Источник считывается пакет за пакетом во время выполнения запроса.

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

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

Параметры:
source

Любой объект, реализующий интерфейс Arrow PyCapsule (то есть имеющий метод __arrow_c_stream__).

Возвращает:
LazyFrame

Примечания

  • Источник должен выдавать пакеты записей Arrow со схемой типа struct. См.: https://arrow.apache.org/docs/format/CStreamInterface.html.
  • После считывания потока тот же источник нельзя сканировать повторно.

Примеры

Сканирование из PyArrow RecordBatchReader:

>>> import pyarrow as pa
>>> schema = pa.schema([("a", pa.int64()), ("b", pa.string())])
>>> batches = [
...     pa.record_batch([[1, 2, 3], ["x", "y", "z"]], schema=schema),
...     pa.record_batch([[4, 5], ["a", "b"]], schema=schema),
... ]
>>> reader = pa.RecordBatchReader.from_batches(schema, batches)
>>> pl.scan_arrow_c_stream(reader).collect()
shape: (5, 2)
┌─────┬─────┐
│ a   ┆ b   │
│ --- ┆ --- │
│ i64 ┆ str │
╞═════╪═════╡
│ 1   ┆ x   │
│ 2   ┆ y   │
│ 3   ┆ z   │
│ 4   ┆ a   │
│ 5   ┆ b   │
└─────┴─────┘

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

Spec-Zone.ru

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