三、编译结果
四、函数使用
4.1 创建 UDF 函数
CREATE FUNCTION TIME_TO_SEC(String) RETURNS INT PROPERTIES ( "symbol" = "_ZN9doris_udf11TIME_TO_SECEPNS_15FunctionContextERKNS_9StringValE", "object_file" = "http://10.192.119.68:8088/udf/udf_samples/build/src/udf_samples/libtime_to_sec.so" );
4.2 使用UDF 函数
原先不兼容TIME_TO_SEC的Tableau固化SQL,现在可以正常运行。
五、总结
自定义C++ UDF 的使用与普通的函数方式一致,唯一的区别在于,内置函数的作用域是全局的,而 UDF 的作用域是 DB 内部
1.2后的新版本不建议使用原生C++ UDF,因为兼容性较差、GLIBC一升级就没法用了;建议使用JAVA UDF
Apache Doris 自定义C++ UDF的Coding至此结束,查阅过程中若遇到问题欢迎留言交流