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包