1. 程式人生 > >Hive面試題:udf,udaf,udtf的區別

Hive面試題:udf,udaf,udtf的區別

Hive中有三種UDF:

    1、使用者定義函式(user-defined function)UDF;

    2、使用者定義聚集函式(user-defined aggregate function,UDAF);

    3、使用者定義表生成函式(user-defined table-generating function,UDTF)。

UDF操作作用於單個數據行,並且產生一個數據行作為輸出。大多數函式都屬於這一類(比如數學函式和字串函式)。

UDAF 接受多個輸入資料行,併產生一個輸出資料行。像COUNT和MAX這樣的函式就是聚集函式。

UDTF 操作作用於單個數據行,並且產生多個數據行-------一個表作為輸出。

簡單來說:

UDF:返回對應值,一對一   | UDAF:返回聚類值,多對一 | UDTF:返回拆分值,一對多