Physical
PhysicalOperator
All implemented physical operators should inherit from this class. In order for the Optimizer to consider using a physical operator for a given logical operation, the user must also write an ImplementationRule.
__init__
__init__(
output_schema: Schema,
input_schema: Schema | None = None,
depends_on: list[str] | None = None,
logical_op_id: str | None = None,
logical_op_name: str | None = None,
target_cache_id: str | None = None,
verbose: bool = False,
*args,
**kwargs,
) -> None
get_id_params
Returns a dictionary mapping of physical operator parameters which are relevant for computing the physical operator id.
NOTE: Should be overriden by subclasses to include class-specific parameters. NOTE: input_schema and output_schema are not included in the id params by default, because they may depend on the order of operations chosen by the Optimizer. This is particularly true for convert operations, where the output schema is now the union of the input and output schemas of the logical operator.