当前位置:   article > 正文

【大数据】UDF、UDAF、UDTF是什么,之间的关系是什么?_udf是什么

udf是什么

UDF (User-Defined Functions)

UDF 是一种用户自定义的标量函数,它接收一个或多个输入值,并返回一个单一的结果值。

例子

URL转义的操作,将给定的字符串通过用户在Java或其他语言实现的自定义函数,输入字符串,将其转义后的结果输出。

table_url

url
https://hello.world?我是个中文参数
SELECT * FROM escape_url(url) AS escaped_url FROM table_url
  • 1

result

escaped_url
https://hello.world?%E6%88%91%E6%98%AF%E4%B8%AA%E4%B8%AD%E6%96%87%E5%8F%82%E6%95%B0

UDAF (User-Defined Aggregate Functions)

UDAF 是一种用户自定义的聚合函数,它可以接收多行数据输入,并返回一个单一的聚合结果。

例子

SUM操作,输入多行,将该列的多行数据求和结果返回

table_score

score
1
2
3
SELECT * FROM sum(frutis) AS sum_score FROM table_score
  • 1

result

sum_score
6

UDTF (User-Defined Table-Generating Functions)

UDTF 是一种用户自定义的表生成函数,它接收一行输入数据,并可能生成多行输出数据。列转行操作,将某一列嵌套很深的函数扁平化。

例子

比如有一列是个数组,通过该函数,将该列内容摊平。

table_store

fruits
apple,banana,orange
SELECT * FROM udtf_fun(frutis) AS fruit FROM table_store
  • 1

result

fruit
apple
banana
orange
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/984886
推荐阅读
相关标签
  

闽ICP备14008679号