Spec-Zone.ru › Polars

polars.LazyFrame.explain

LazyFrame.explain(
    *,
    format: ExplainFormat = 'plain',
    optimized: bool = True,
    type_coercion: bool = True,
    predicate_pushdown: bool = True,
    projection_pushdown: bool = True,
    simplify_expression: bool = True,
    slice_pushdown: bool = True,
    comm_subplan_elim: bool = True,
    comm_subexpr_elim: bool = True,
    cluster_with_columns: bool = True,
    collapse_joins: bool = True,
    streaming: bool = False,
    engine: EngineType = 'auto',
    tree_format: bool | None = None,
    optimizations: QueryOptFlags = (,
), ) → str

Создать строковое представление плана запроса.

Различные оптимизации можно включать и отключать.

Параметры:
format{‘plain’, ‘tree’}

Формат для отображения логического плана.

optimized

Возвращать оптимизированный план запроса. По умолчанию — True. Если задано значение True, последующие флаги оптимизации определяют, какие оптимизации выполняются.

type_coercion

Выполнять оптимизацию приведения типов.

Устарело с версии 1.30.0: Используйте параметры optimizations.

predicate_pushdown

Выполнять оптимизацию проталкивания предикатов.

Устарело с версии 1.30.0: Используйте параметры optimizations.

projection_pushdown

Выполнять оптимизацию проталкивания проекций.

Устарело с версии 1.30.0: Используйте параметры optimizations.

simplify_expression

Выполнять оптимизацию упрощения выражений.

Устарело с версии 1.30.0: Используйте параметры optimizations.

slice_pushdown

Оптимизация проталкивания срезов.

Устарело с версии 1.30.0: Используйте параметры optimizations.

comm_subplan_elim

Будет предпринята попытка кэшировать ветвящиеся подзапросы, возникающие при самообъединениях или объединениях.

Устарело с версии 1.30.0: Используйте параметры optimizations.

comm_subexpr_elim

Общие подвыражения будут кэшироваться и использоваться повторно.

Устарело с версии 1.30.0: Используйте параметры optimizations.

cluster_with_columns

Объединять последовательные независимые вызовы with_columns

Устарело с версии 1.30.0: Используйте параметры optimizations.

collapse_joins

Объединять соединение и фильтры в более быстрое соединение

Устарело с версии 1.30.0: Используйте параметры optimizations.

streaming

Неиспользуемый параметр, сохранённый для обратной совместимости.

Устарело с версии 1.30.0: Вместо него используйте параметр engine.

engine

Выбрать движок для обработки запроса (по умолчанию "auto"). Также можно передать экземпляр Engine. Поддерживаются следующие названия движков:

  • "auto": использовать движок, заданный с помощью Config.set_engine_affinity или переменной окружения POLARS_ENGINE_AFFINITY; если она не задана, использовать "in-memory" (это значение по умолчанию может измениться в одном из будущих выпусков).
  • "in-memory": использовать движок обработки в памяти; это движок по умолчанию.
  • "streaming": использовать потоковый движок, который обрабатывает запросы пакетами, снижая нагрузку на память и зачастую превосходя по производительности движок обработки в памяти. Вскоре он станет движком Polars по умолчанию.
  • "gpu": использовать движок CUDA для GPU (требуется графический процессор Nvidia и cudf-polars). Для точной настройки (например, выбора устройства в системах с несколькими GPU) передайте объект GPUEngine.

Если выбранный движок не может выполнить запрос, Polars переключится на движок обработки в памяти.

Примечание

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

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

optimizations

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

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

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

tree_format

Форматировать вывод в виде дерева.

Устарело с версии 0.20.30: Вместо этого используйте format="tree".

Примеры

>>> 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", maintain_order=True).agg(pl.all().sum()).sort(
...     "a"
... ).explain()  

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

Spec-Zone.ru

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