davidradl commented on code in PR #26611: URL: https://github.com/apache/flink/pull/26611#discussion_r2113909906
########## docs/content/docs/dev/table/functions/udfs.md: ########## @@ -1172,6 +1173,153 @@ If you intend to implement or call functions in Python, please refer to the [Pyt {{< top >}} +Asynchronous Table Functions +---------------- + +Similar to `AsyncScalarFunction`, there also exists a `AsyncTableFunction` for returning multiple row results rather than a single scalar value. Similarly, this is most useful when interacting with external systems (for example when enriching stream events with data stored in a database). + +Asynchronous interaction with an external system means that a single function instance can handle many requests concurrently and receive the responses concurrently. That way, the waiting time can be overlaid with sending other requests and receiving responses. At the very least, the waiting time is amortized over multiple requests. This leads in most cased to much higher streaming throughput. + +#### Defining an AsyncTableFunction + +A user-defined asynchronous table function maps zero, one, or multiple scalar values to zero, one, or multiple Rows, but does it asynchronously. Any data type listed in the [data types section]({{< ref "docs/dev/table/types" >}}) can be used as a parameter or return type of an evaluation method. Review Comment: nit: Do we need to say "but does it asynchronously." as we have already said it is asynchronous -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@flink.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org