1 个不稳定版本
0.1.0 | 2024 年 2 月 1 日 |
---|
#3 in #gandiva
6KB
Gandiva Rust UDF
本项目是 Apache Arrow Gandiva 的 Rust 编写的 UDF 的集合。
如何编写新的 UDF
- 创建一个新的 cargo 工作区,例如
my_func
- 为此新工作区应添加两个依赖项
- gandiva_rust_udf_macro
- gandiva_rust_udf_shared
- 如果您的函数接受字符串参数或返回字符串值,则应将
libc
添加为依赖项 - 在
my_func/src/lib.rs
中添加一个新函数- 导入
use gandiva_rust_udf_macro::udf
- 使用
#[udf]
宏来注解此函数 - 对您的函数进行单元测试
- 导入
- 在
udf_core/Cargo.toml
中将my_func
添加为依赖项 - 在
udf_core/src/lib.rs
中注册my_func
- 将
udf_core
编译为共享库cargobuild --release --lib --workspace
- 将
libudf_core
共享库部署到 Gandiva 应用程序可以加载的位置
如何创建类似的项目
- udf_core
[lib]
crate-type = ["cdylib"]
- 每个函数都必须依赖于
gandiva_rust_udf_shared
包