#apache-arrow #udf #gandiva

gandiva_rust_udf

Apache Arrow Gandiva 的 Rust UDF 库

1 个不稳定版本

0.1.0 2024 年 2 月 1 日

#3 in #gandiva

自定义许可证

6KB

Gandiva Rust UDF

本项目是 Apache Arrow Gandiva 的 Rust 编写的 UDF 的集合。

如何编写新的 UDF

  1. 创建一个新的 cargo 工作区,例如 my_func
  2. 为此新工作区应添加两个依赖项
    1. gandiva_rust_udf_macro
    2. gandiva_rust_udf_shared
  3. 如果您的函数接受字符串参数或返回字符串值,则应将 libc 添加为依赖项
  4. my_func/src/lib.rs 中添加一个新函数
    1. 导入 use gandiva_rust_udf_macro::udf
    2. 使用 #[udf] 宏来注解此函数
    3. 对您的函数进行单元测试
  5. udf_core/Cargo.toml 中将 my_func 添加为依赖项
  6. udf_core/src/lib.rs 中注册 my_func
  7. udf_core 编译为共享库
    1. cargobuild --release --lib --workspace
  8. libudf_core 共享库部署到 Gandiva 应用程序可以加载的位置

如何创建类似的项目

  1. udf_core
[lib]
crate-type = ["cdylib"]
  1. 每个函数都必须依赖于 gandiva_rust_udf_shared

没有运行时依赖项