集成蜂巢udf, UDAFs UDTFs

适用于:检查标记是的砖运行时

火花SQL支持集成的蜂巢udf, UDAFs, UDTFs。类似于火花udf和UDAFs,蜂巢udf工作一行作为输入,并生成一行作为输出,而蜂巢UDAFs操作多个行,并返回一个结果汇总行。此外,蜂巢还支持UDTFs(用户定义的表函数),作用于一行作为输入,并返回多行作为输出。使用蜂巢udf / UDAFs /中的,用户应在火花注册,然后在火花SQL查询中使用它们。

例子

蜂巢有两个UDF接口:UDFGenericUDF。下面一个例子使用GenericUDFAbs来自GenericUDF

——注册“GenericUDFAbs”用在火花SQL。——注意,如果你使用自己的程序,您需要添加一个JAR包含它——到类路径中,——例如,添加JAR yourHiveUDF.jar;创建临时函数testUDF作为“org.apache.hadoop.hive.ql.udf.generic.GenericUDFAbs”;选择*t;+- - - - - - +|价值|+- - - - - - +|- - - - - -10||20||- - - - - -30|+- - - - - - +选择testUDF(价值)t;+- - - - - - - - - - - - - - - - +|testUDF(价值)|+- - - - - - - - - - - - - - - - +|10||20||30|+- - - - - - - - - - - - - - - - +

下面一个例子使用GenericUDTFExplode来自GenericUDTF

——注册“GenericUDTFExplode”用在火花SQL创建临时函数hiveUDTF作为“org.apache.hadoop.hive.ql.udf.generic.GenericUDTFExplode”;选择*t;+- - - - - - +|价值|+- - - - - - +|(1,2]||(3,4]|+- - - - - - +选择hiveUDTF(价值)t;+推荐- - - - - - +|上校|+推荐- - - - - - +|1||2||3||4|+推荐- - - - - - +

蜂巢有两个UDAF接口:UDAFGenericUDAFResolver。下面一个例子使用GenericUDAFSum来自GenericUDAFResolver

——注册“GenericUDAFSum”用在火花SQL创建临时函数hiveUDAF作为“org.apache.hadoop.hive.ql.udf.generic.GenericUDAFSum”;选择*t;+- - - + - - - +|关键|价值|+- - - + - - - +|一个|1||一个|2||b|3|+- - - + - - - +选择关键,hiveUDAF(价值)t集团通过关键;+推荐- - - - - - + - - - - - - - - - - - - - - - - - - +|关键|hiveUDAF(价值)|+推荐- - - - - - + - - - - - - - - - - - - - - - - - - +|b|3||一个|3|+推荐- - - - - - + - - - - - - - - - - - - - - - - - - +