The ResultTypeQueryable is used to specify the return type of user-defined functions. The Scala DataSet API ignores this interface. The only way to override the inferred type information is to use implicit values. However, the ResultTypeQueryable interface has the nice property that the return type is defined in the actual function, whereas implicit types are defined in the program, i.e., outside of the function.
IMO, the Scala DataSet API should also support the ResultTypeQueryable interface.
What do you think Aljoscha Krettek, [~till.rohrmann]?
Was it a conscious decision to only support implicit type definitions?