ExtractPythonUDFs Logical Optimization¶
ExtractPythonUDFs is a logical optimization (Rule[LogicalPlan]) that "executes" (replaces) PythonUDFs as BaseEvalPythons.
Executing Rule¶
apply finds operators with PYTHON_UDF tree pattern (with the children first and this operator next) and extract from the given LogicalPlan.
Skips correlated subqueries
apply skips correlated subqueries.
extract¶
extract collects PythonUDFs (from the given LogicalPlan recursively) and rewrites them all to a single-type BaseEvalPython based on a PythonUDF eval type.
| BaseEvalPython | PythonUDF Eval Type |
|---|---|
| ArrowEvalPython | SQL_SCALAR_PANDAS_UDF or SQL_SCALAR_PANDAS_ITER_UDF |
BatchEvalPython | SQL_BATCHED_UDF |