## Abstract Arrow UDF is a User-Defined Function Framework for Apache Arrow. ## Proposal Arrow UDF allows user to easily create and run user-defined functions (UDF) in Rust, Python, Java or JavaScript based on Apache Arrow. The functions can be executed natively, or in WebAssembly, or in a remote server via Arrow Flight. Arrow UDF was originally designed to be used by the RisingWave project but is now being used by Databend and several database startups. We believe that the Arrow UDF project will provide diversity value to the entire Arrow community. ## Background Arrow UDF is being developed by an open-source community from day one and is owned by RisingWaveLabs. The project has been launched in December 2023. ## Initial Goals By transferring ownership of the project to the Apache Arrow, Arrow UDF expects to ensure its neutrality and further encourage and facilitate the adoption of Arrow UDF by the community. ## Current Status Contributors: 5 Users: - [RisingWave]: A Distributed SQL Database for Stream Processing. - [Databend]: An open-source cloud data warehouse that serves as a cost-effective alternative to Snowflake. ## Documentation The document of Arrow UDF is hosted at https://docs.rs/arrow-udf/latest/arrow_udf/. ## Initial Source The project currently holds a GitHub repository and multiple packages: - https://github.com/risingwavelabs/arrow-udf Rust: - https://crates.io/crates/arrow-udf/ - https://crates.io/crates/arrow-udf-python/ - https://crates.io/crates/arrow-udf-js/ - https://crates.io/crates/arrow-udf-wasm/ Python: - https://pypi.org/project/arrow-udf/ Those packge will retain its name, while the repository will be moved to apache org. ## Required Resources ### Mailing Lists We can reuse the existing mailing lists that arrow have. ### Git Repositories #### Option 1 Maintian all arrow udf implemantion in the same repo. From - https://github.com/risingwavelabs/arrow-udf To - https://gitbox.apache.org/asf/repos/arrow-udf - https://github.com/apache/arrow-udf #### Option 2 Add Arrow UDF implementation to the corresponding language repository. For example: From - https://github.com/risingwavelabs/arrow-udf/tree/main/arrow-udf To - https://github.com/apache/arrow-rs/path/to/udf ### Issue Tracking The project would like to continue using GitHub Issues. ### Other Resources The project has already chosen GitHub actions as continuous integration tools. ## Initial Committers - Runji Wang wangrunji0408@163.com - Giovanny GutiƩrrez - sundy-li sundyli@apache.org - Xuanwo xuanwo@apache.org - Max Justus Spransy maxjustus@gmail.com [RisingWave]: https://github.com/risingwavelabs/risingwave [Databend]: https://github.com/datafuselabs/databend
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up