Spec-Zone.ru › Polars

polars.LazyFrame.execute

LazyFrame.execute(
    *,
    optimizations: QueryOptFlags = (,
), engine: EngineType = 'auto', **_kwargs: Any, ) → QueryResult

Выполнить запрос и получить QueryResult.

Этот способ материализации LazyFrame не гарантирует, где именно будет материализован результат. Для GPU-движка это может быть GPU, для распределённого движка — кластер или удалённое хранилище, а потоковый движок при необходимости может выгрузить результат.

QueryResult всегда можно использовать как новый LazyFrame, вызвав .lazy

Параметры:
engine

Выбор движка для обработки запроса; параметр необязательный. Также можно передать экземпляр Engine. На данный момент, если задано значение "auto" (по умолчанию), запрос выполняется с помощью движка polars in-memory. Polars также попытается использовать движок, заданный переменной окружения POLARS_ENGINE_AFFINITY. Если выбранный движок не может выполнить запрос, запрос выполняется с помощью движка polars in-memory. Если задано значение "gpu", используется GPU-движок. Более точное управление GPU-движком, например выбор устройства в системе с несколькими устройствами, возможно, если передать объект GPUEngine с параметрами конфигурации.

Примечание

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

Запуск с POLARS_VERBOSE=1 позволит узнать, если запрос переключится на другой движок, и почему.

optimizations

Этапы оптимизации, выполняемые при оптимизации запроса.

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

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

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

См. также

explain

Вывести план запроса, который вычисляется при вызове collect.

profile

Выполнить LazyFrame и измерить время выполнения каждого узла графа вычислений.

polars.collect_all

Выполнить несколько LazyFrame одновременно.

polars.Config.set_streaming_chunk_size

Задать размер пакетов потоковой обработки.

Примеры

>>> lf = pl.LazyFrame(
...     {
...         "a": ["a", "b", "a", "b", "b", "c"],
...         "b": [1, 2, 3, 4, 5, 6],
...         "c": [6, 5, 4, 3, 2, 1],
...     }
... )
>>> lf.group_by("a").agg(pl.all().sum()).collect()  
shape: (3, 3)
┌─────┬─────┬─────┐
│ a   ┆ b   ┆ c   │
│ --- ┆ --- ┆ --- │
│ str ┆ i64 ┆ i64 │
╞═════╪═════╪═════╡
│ a   ┆ 4   ┆ 10  │
│ b   ┆ 11  ┆ 10  │
│ c   ┆ 6   ┆ 1   │
└─────┴─────┴─────┘

Выполнить в потоковом режиме

>>> lf.group_by("a").agg(pl.all().sum()).collect(
...     engine="streaming"
... )  
shape: (3, 3)
┌─────┬─────┬─────┐
│ a   ┆ b   ┆ c   │
│ --- ┆ --- ┆ --- │
│ str ┆ i64 ┆ i64 │
╞═════╪═════╪═════╡
│ a   ┆ 4   ┆ 10  │
│ b   ┆ 11  ┆ 10  │
│ c   ┆ 6   ┆ 1   │
└─────┴─────┴─────┘

Выполнить в режиме GPU

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

Spec-Zone.ru

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