apache / apache/arrow

[C++][Python] Generate scalar-argument kernel based on array-argument kernel for UDFs

Open
#31,613 1 comment 0 reactions 0 assignees View on GitHub
Component: C++ Component: Python Type: task
Dominant language
C++
Stars
17.1k
Forks
4.3k
Avg merge
3d 18h
Merged PRs (30d)
91

Description

When defining UDFs the ability to use a function on both scalar and array with a single function definition is important. Here using a function just written for array-like inputs on scalars is a vital component when providing better support. Further more, UDFs need to be consistent with the pre-registered functions in the function registry. Considering both usability and consistency, it is important to support this feature. 

This requirement was a part of discussion in Scalar UDF integration PR[1]. 

 

References:

 

[1]. https://github.com/apache/arrow/pull/12590#issuecomment-1089426784

**Reporter**: [Vibhatha Lakmal Abeykoon](https://issues.apache.org/jira/browse/ARROW-16213) / @vibhatha

**Note**: *This issue was originally created as [ARROW-16213](https://issues.apache.org/jira/browse/ARROW-16213). Please see the [migration documentation](https://github.com/apache/arrow/issues/14542) for further details.*

Contributor guide

Open the contributing guide

Research direction

Start with the Scalar UDF integration PR linked in the issue and review how UDFs and pre-registered functions are handled in the function registry. Define and validate behavior for invoking an array-oriented UDF with scalar inputs in both C++ and Python; done when one definition supports both forms consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, python
Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.