Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Which issue does this PR close?
Closes #822
Rationale for this change
With this change we add an additional argument to
udaf
andudwf
to be used for calls to__init__
of the class that implements the aggregation or partition evaluator. This allows users to pass in these arguments so we can reuse a single class that requires parameters.The other option is to always pass in these parameters as
lit()
values which is not as performant.What changes are included in this PR?
Updates the
udaf
call to add in the provided arguments when initializing the classes. Also adds unit tests.Are there any user-facing changes?
There is a non-breaking change to the
udaf
function that allows for an optional set of arguments to be passed in. If any users are instead callingAggregateUDF()
directly they will need to add in an empty list as the extra argument.There is a breaking change to
udwf
but since it is not in any released version yet, it shouldn't count as a user-facing change in my opinion.