polars.scan_arrow_c_stream
-
Сканирует источник, реализующий интерфейс 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 │ └─────┴─────┘
polars.scan_arrow_c_stream(
source: Any,
) → LazyFrame
© 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