rdblue opened a new pull request #24559:
URL: https://github.com/apache/spark/pull/24559


   ## What changes were proposed in this pull request?
   
   This adds a new API for catalog plugins that exposes functions to Spark. The 
API can list and load functions. This does not include create, delete, or alter 
operations.
   
   There are 3 types of functions defined:
   * A `ScalarFunction` that produces a value for every call
   * An `AggregateFunction` that produces a value after updates for a group of 
rows
   * An `AssociativeAggregateFunction` that is an aggregate that can be run in 
parallel and can merge intermediate results
   
   Functions loaded from the catalog by name as `UnboundFunction`. Once input 
arguments are determined `bind` is called on the unbound function to get a 
`BoundFunction` implementation that is one of the 3 types above. Binding can 
fail if the function doesn't support the input type. `BoundFunction` returns 
the result type produced by the function.
   
   ## How was this patch tested?
   
   This includes a test that demonstrates the new API.


----------------------------------------------------------------
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.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to