Hi,
I want to split Tuple2 returned by AggregateFunction.getValue into two
different columns in a resultant table.
Let's consider the following example where myudaf returns Tuple2<Boolean,
Boolean>:
Table table2 = table1
.window(Slide.over("3.rows").every("1.rows").on("time").as("w"))
.groupBy("w, name")
.select("name, myudaf(col1, col2, col3) as (col4, col5)")
Then table2.printSchema() returns (w/ Flink 1.7.2)
root
|-- name: String
|-- col4: Java Tuple2<Boolean, Boolean>
whereas my expectation is
root
|-- name: String
|-- col4: Boolean
|-- col5: Boolean
When I define a scalar function which returns Tuple2 and use like
"myscalar(col1, col2, col3) as (col4, col5)", it works as expected.
Is there a possible way of splitting the tuple into two different columns in
Flink-1.7.2?
If not, do I have to define an additional UDF in order to flatten the tuple? or
there's already one I can make use of?
- Dongwon