pyflink.table.Table.left_outer_join_lateral#
- Table.left_outer_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 left outer join but works with a table function. Each row of the table is joined with all rows produced by the table function. If the join does not produce any row, the outer row is padded with nulls.
Example:
>>> t_env.create_java_temporary_system_function("split", ... "java.table.function.class.name") >>> from pyflink.table.expressions import * >>> tab.left_outer_join_lateral(call('split', ' ').alias('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.left_outer_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.