pyflink.table.Table.join_lateral#
- Table.join_lateral(table_function_call: Union[pyflink.table.expression.Expression, pyflink.table.udf.UserDefinedTableFunctionWrapper], join_predicate: Optional[pyflink.table.expression.Expression[bool]] = None) pyflink.table.table.Table [source]#
Joins this Table with an user-defined TableFunction. This join is similar to a SQL inner join but works with a table function. Each row of the table is joined with the rows produced by the table function.
Example:
>>> from pyflink.table.expressions import * >>> t_env.create_java_temporary_system_function("split", ... "java.table.function.class.name") >>> tab.join_lateral(call('split', ' ').alias('b'), col('a') == col('b')) >>> # take all the columns as inputs >>> @udtf(result_types=[DataTypes.INT(), DataTypes.STRING()]) ... def split_row(row: Row): ... for s in row[1].split(","): ... yield row[0], s >>> tab.join_lateral(split_row.alias("a", "b"))
- Parameters
table_function_call – An expression representing a table function call.
join_predicate – Optional, The join predicate expression string, join ON TRUE if not exist.
- Returns
The result Table.