polars.LazyFrame.explain
-
Создать строковое представление плана запроса.
Различные оптимизации можно включать и отключать.
- Параметры:
-
-
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()
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
© 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