pyflink.table.udf.udtf#
- udtf(f: Union[Callable, pyflink.table.udf.TableFunction, Type], input_types: Optional[Union[List[pyflink.table.types.DataType], pyflink.table.types.DataType, str, List[str]]] = None, result_types: Optional[Union[List[pyflink.table.types.DataType], pyflink.table.types.DataType, str, List[str]]] = None, deterministic: Optional[bool] = None, name: Optional[str] = None, concurrency: Optional[int] = None, num_gpus: Optional[float] = None, gpu_type: Optional[str] = None) pyflink.table.udf.UserDefinedTableFunctionWrapper[source]#
- udtf(f: None = None, input_types: Optional[Union[List[pyflink.table.types.DataType], pyflink.table.types.DataType, str, List[str]]] = None, result_types: Optional[Union[List[pyflink.table.types.DataType], pyflink.table.types.DataType, str, List[str]]] = None, deterministic: Optional[bool] = None, name: Optional[str] = None, concurrency: Optional[int] = None, num_gpus: Optional[float] = None, gpu_type: Optional[str] = None) Callable[[Union[Callable, pyflink.table.udf.TableFunction, Type]], pyflink.table.udf.UserDefinedTableFunctionWrapper]
Helper method for creating a user-defined table function.
Example
>>> # The input_types is optional. >>> @udtf(result_types=[DataTypes.BIGINT(), DataTypes.BIGINT()]) ... def range_emit(s, e): ... for i in range(e): ... yield s, i >>> # Specify result_types via string >>> @udtf(result_types=['BIGINT', 'BIGINT']) ... def range_emit(s, e): ... for i in range(e): ... yield s, i >>> # Specify result_types via row string >>> @udtf(result_types='Row<a BIGINT, b BIGINT>') ... def range_emit(s, e): ... for i in range(e): ... yield s, i >>> class MultiEmit(TableFunction): ... def eval(self, i): ... return range(i) >>> multi_emit = udtf(MultiEmit(), DataTypes.BIGINT(), DataTypes.BIGINT())
- Parameters
f – user-defined table function.
input_types – optional, the input data types.
result_types – the result data types.
name – the function name.
deterministic – the determinism of the function’s results. True if and only if a call to this function is guaranteed to always return the same result given the same parameters. (default True)
concurrency – optional concurrency (parallelism) for this UDTF operator.
num_gpus – optional number of GPUs requested for this UDTF.
gpu_type – optional GPU type. Required when num_gpus is set.
- Returns
UserDefinedTableFunctionWrapper or function.
New in version 1.11.0.