hive extends udf和extends genericudf的区别
答案:2 悬赏:80 手机版
解决时间 2021-03-19 18:41
- 提问者网友:龅牙恐龙妹
- 2021-03-19 00:47
hive extends udf和extends genericudf的区别
最佳答案
- 五星知识达人网友:刀戟声无边
- 2021-03-19 01:18
一般来说你要是写的udf(例如floor,regexp_extract函数等)的参数和返回值只需要支持简单类型,例如 int double string这些类型,继承udf即可。
如果你的udf(例如size,collect_set函数)参数和返回值需要用到复杂类型,例如array map struct等,需要使用genericudf,这个里边需要进行参数类型的判断和获取等
如果你的udf(例如size,collect_set函数)参数和返回值需要用到复杂类型,例如array map struct等,需要使用genericudf,这个里边需要进行参数类型的判断和获取等
全部回答
- 1楼网友:归鹤鸣
- 2021-03-19 02:52
最近感受了hive的udf函数的强大威力了,不仅可以使用很多已经有的udf函数,还可以自己定义符合业务场景的udf函数,下面就说一下如何写udf/udaf/udtf函数,算是一个入门介绍吧。
first, you need to create a new class that extends udf, with one or more methods named evaluate.
package com.example.hive.udf;
import org.apache.hadoop.hive.ql.exec.udf;
import org.apache.hadoop.io.text;
public final class lower extends udf {
public text evaluate(final text s) {
if (s == null) { return null; }
return new text(s.tostring().tolowercase());
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯