Extending Window Functions and Aggregate Functions

Hi Team,

We are evaluating data lakehouse solutions as a replacement for current columnar DB.
In the current DB our team has created various UDFs, including aggregate, window and table functions. I am researching how to reimplement them in the new platform.

I found that I can create custom internal function, like this https://github.com/dremio-hub/dremio-internal-function-example, I also searched the oss codebase and see that the FunctionTemplate.java has scope available as either BASIC or POINT_AGGREGATE. This tells me I might be able to create Aggregate functions.

Looking further the codebase I found WindowFunction.java.

It is unclear to me how I could add my own custom window function at this point.
Any example code or doc ref would be welcome.

Thank you

1 Like