Apache Doris 原生C++ UDF之流程详解(1)
一、背景信息
在过去版本中,Apache Doris 提供了 C++ 语言的原生 UDF,便于用户通过自己编写自定义函数来满足特定场景的分析需求。但由于原生 UDF 与 Doris 代码耦合度高、当 UDF 出现错误时可能会影响集群稳定性,且只支持 C++ 语言,对于熟悉 Hive、Spark 等大数据技术栈的用户而言存在较高门槛,因此在 1.2.0 新版本Apache Doris社区增加了 Java 语言的自定义函数,支持通过 Java 编写 UDF/UDAF,方便用户在 Java 生态中使用。同时,通过堆外内存、Zero Copy 等技术,使得跨语言的数据访问效率大幅提升。
C++自定义UDF函数主要适用于,1.2.0版本之前,用户需要的分析能力 Doris 并不具备的场景,比如Tableau通过固化sql直连doris查询时出现部分函数不兼容问题。用户可以自行根据自己的需求,实现自定义的函数,并且通过 UDF 框架注册到 Doris 中,来扩展 Doris 的能力,并解决用户分析需求。
二、环境信息
2.1 硬件信息
- 1.CPU :4C
- 2.CPU型号:x64(AVX2)
- 3.内存 :10GB
- 4.硬盘 :66GB SSD
2.2 软件信息
- 1.Linux版本 :CentOS-7
- 2.Apahce Doris版本 :0.15-release
三、环境准备
C++开发环境准备。
3.1 IDE选型
code:blocks
3.2 下载安装
如果使用的是windows操作系统,建议下载第四个列表中的,因为它自带了GCC/G++ compliler 和 GDB debugger,当然也可以后续自己下载MinGW。
3.3 Hello World
环境搭好后,传统手艺:Hello World