zhangstar333 commented on code in PR #583: URL: https://github.com/apache/doris-website/pull/583#discussion_r1600936639
########## i18n/zh-CN/docusaurus-plugin-content-docs/current/query/udf/java-user-defined-function.md: ########## @@ -24,33 +24,74 @@ specific language governing permissions and limitations under the License. --> - - - :::tip Java UDF 功能自 Doris 1.2 版本开始支持 ::: ## Java UDF 介绍 -Java UDF 为用户提供 UDF 编写的 Java 接口,以方便用户使用 Java 语言进行自定义函数的执行。相比于 Native 的 UDF 实现,Java UDF 有如下优势和限制: -**1. 优势** +Java UDF 为用户提供 UDF 编写的 Java 接口,以方便用户使用 Java 语言进行自定义函数的执行。 + +Doris 支持使用 JAVA 编写 UDF、UDAF 和 UDTF。下文如无特殊说明,使用 UDF 统称所有用户自定义函数。 + +## 创建 UDF + +实现的 jar 包可以放在本地也可以存放在远程服务端通过 HTTP 下载,但必须让每个 BE 节点都能获取到 jar 包。 + +否则将会返回错误状态信息 `Couldn't open file ......`。 + +更多语法帮助可参阅 [CREATE FUNCTION](../sql-manual/sql-statements/Data-Definition-Statements/Create/CREATE-FUNCTION.md). + +### UDF + +```sql +CREATE FUNCTION java_udf_add_one(int) RETURNS int PROPERTIES ( + "file"="file:///path/to/java-udf-demo-jar-with-dependencies.jar", + "symbol"="org.apache.doris.udf.AddOne", + "always_nullable"="true", + "type"="JAVA_UDF" +); +``` + +### UDAF + +```sql +CREATE AGGREGATE FUNCTION middle_quantiles(DOUBLE,INT) RETURNS DOUBLE PROPERTIES ( + "file"="file:///pathTo/java-udaf.jar", + "symbol"="org.apache.doris.udf.demo.MiddleNumberUDAF", + "always_nullable"="true", + "type"="JAVA_UDF" +); +``` + +### UDTF -* 兼容性:使用 Java UDF 可以兼容不同的 Doris 版本,所以在进行 Doris 版本升级时,Java UDF 不需要进行额外的迁移操作。与此同时,Java UDF 同样遵循了和 Hive/Spark 等引擎同样的编程规范,使得用户可以直接将 Hive/Spark 的 UDF jar 包迁移至 Doris 使用。 +:::tip +UDTF 自 Doris 2.1.3 版本开始支持 Review Comment: PR not pick to 2.1.3 as have change the fe meta info. so maybe release at a big version eg:4.0 ########## i18n/zh-CN/docusaurus-plugin-content-docs/current/query/udf/java-user-defined-function.md: ########## @@ -24,33 +24,74 @@ specific language governing permissions and limitations under the License. --> - - - :::tip Java UDF 功能自 Doris 1.2 版本开始支持 ::: ## Java UDF 介绍 -Java UDF 为用户提供 UDF 编写的 Java 接口,以方便用户使用 Java 语言进行自定义函数的执行。相比于 Native 的 UDF 实现,Java UDF 有如下优势和限制: -**1. 优势** +Java UDF 为用户提供 UDF 编写的 Java 接口,以方便用户使用 Java 语言进行自定义函数的执行。 + +Doris 支持使用 JAVA 编写 UDF、UDAF 和 UDTF。下文如无特殊说明,使用 UDF 统称所有用户自定义函数。 + +## 创建 UDF + +实现的 jar 包可以放在本地也可以存放在远程服务端通过 HTTP 下载,但必须让每个 BE 节点都能获取到 jar 包。 Review Comment: FE also need jar. * 如果你是**本地路径**方式,这里数据库驱动依赖的 jar 包,**FE、BE 节点都要放置** -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@doris.apache.org For additional commands, e-mail: dev-h...@doris.apache.org