美文网首页
Hive基础增强-UDAF

Hive基础增强-UDAF

作者: bigdata张凯翔 | 来源:发表于2020-06-26 18:51 被阅读0次
  • UDAF:User- Defined Aggregation Funcation;用户定义聚合函数,可对多行数据产生作用;
    等同于SQL中常用的SUM(),AVG(),也是聚合函数;
    UDAF实现多进一出
    UDAF实现有简单与通用两种方式:
import org.apache.hadoop.hive.ql.exec.UDAF;
import org.apache.hadoop.hive.ql.exec.UDAFEvaluator;
import org.apache.hadoop.io.IntWritable;
//UDAF是输入多个数据行,产生一个数据行
//用户自定义的UDAF必须是继承了UDAF,且内部包含多个实现了exec的静态类
public class MaxiNumber extends UDAF {
public static class MaxiNumberIntUDAFEvaluator implements UDAFEvaluator {
// 最终结果
private IntWritable result;
// 负责初始化计算函数并设置它的内部状态,result是存放最终结果的
@Override
public void init() {
result = null;
}
// 每次对一个新值进行聚集计算都会调用iterate方法
public boolean iterate(IntWritable value) {
if (value == null)
return false;
if (result == null)
result = new IntWritable(value.get());
else
result.set(Math.max(result.get(), value.get()));
return true;
}
// Hive需要部分聚集结果的时候会调用该方法
// 会返回一个封装了聚集计算当前状态的对象
public IntWritable terminatePartial() {
return result;
}
// 合并两个部分聚集值会调用这个方法
public boolean merge(IntWritable other) {
return iterate(other);
}
// Hive需要最终聚集结果时候会调用该方法
public IntWritable terminate() {
return result;
}
}
}

相关文章

  • Hive基础增强-UDAF

    UDAF:User- Defined Aggregation Funcation;用户定义聚合函数,可对多行数据产...

  • Hive的Transform和UDF

    UDTF Hive中UDTF编写和使用 UDAF Hive udaf开发入门和运行过程详解 Hive通用型自定义聚...

  • Hive开发自定义函数UDF

    Hive 内置函数 Hive自定义函数 UDF(User-Defined-Function) 一进一出 UDAF(...

  • Spark SQL 中 UDF 和 UDAF 的使用

    Spark SQL 支持 Hive 的 UDF(User defined functions) 和 UDAF(Us...

  • Hive中UDAF的实现方式调研

    UDAF在Hive中实现主要有两种,类似于UDF: 继承org.apache.hadoop.hive.ql.exe...

  • Hive-UDAF

    UDAF 前两节分别介绍了基础UDF和UDTF,这一节我们将介绍最复杂的用户自定义聚合函数(UDAF)。用户自定义...

  • Hive 之 UDAF

    1. Background 一句话概括 UDAF 的背景就是系统自带的聚合函数无法满足用户需求。 2. Basic...

  • Hive UDF、UDAF、UDTF

    [参考link][参考link][参考link][参考link][参考link] -1- hive UDF(Use...

  • Hive基础增强-(窗口函数)

    一.原始数据 执行如下函数后分别得到不同的结果,以此来理解开窗函数的使用方法 二.原始数据 相关函数说明OVER(...

  • 添加 Hive 自定义函数

    使用 Java 编写好 UDF 或 UDAF 函数后,Hive 要如何使用这些自定义函数呢? 1 在 HDFS 上...

网友评论

      本文标题:Hive基础增强-UDAF

      本文链接:https://www.haomeiwen.com/subject/wwvufktx.html