集成蜂巢udf, UDAFs UDTFs
适用于:砖运行时
火花SQL支持集成的蜂巢udf, UDAFs, UDTFs。类似于火花udf和UDAFs,蜂巢udf工作一行作为输入,并生成一行作为输出,而蜂巢UDAFs操作多个行,并返回一个结果汇总行。此外,蜂巢还支持UDTFs(用户定义的表函数),作用于一行作为输入,并返回多行作为输出。使用蜂巢udf / UDAFs /中的,用户应在火花注册,然后在火花SQL查询中使用它们。
例子
蜂巢有两个UDF接口:UDF和GenericUDF。下面一个例子使用GenericUDFAbs来自GenericUDF
。
——注册“GenericUDFAbs”用在火花SQL。——注意,如果你使用自己的程序,您需要添加一个JAR包含它——到类路径中,——例如,添加JAR yourHiveUDF.jar;创建临时函数testUDF作为“org.apache.hadoop.hive.ql.udf.generic.GenericUDFAbs”;选择*从t;+- - - - - - +|价值|+- - - - - - +|- - - - - -1。0||2。0||- - - - - -3。0|+- - - - - - +选择testUDF(价值)从t;+- - - - - - - - - - - - - - - - +|testUDF(价值)|+- - - - - - - - - - - - - - - - +|1。0||2。0||3。0|+- - - - - - - - - - - - - - - - +
下面一个例子使用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接口:UDAF和GenericUDAFResolver。下面一个例子使用GenericUDAFSum来自GenericUDAFResolver
。
——注册“GenericUDAFSum”用在火花SQL创建临时函数hiveUDAF作为“org.apache.hadoop.hive.ql.udf.generic.GenericUDAFSum”;选择*从t;+- - - + - - - +|关键|价值|+- - - + - - - +|一个|1||一个|2||b|3|+- - - + - - - +选择关键,hiveUDAF(价值)从t集团通过关键;+推荐- - - - - - + - - - - - - - - - - - - - - - - - - +|关键|hiveUDAF(价值)|+推荐- - - - - - + - - - - - - - - - - - - - - - - - - +|b|3||一个|3|+推荐- - - - - - + - - - - - - - - - - - - - - - - - - +