美文网首页
编写UDAF函数

编写UDAF函数

作者: chen_666 | 来源:发表于2020-05-27 14:42 被阅读0次
package com.vanke.udfs.cust;

import org.apache.hadoop.hive.ql.exec.UDAF;
import org.apache.hadoop.hive.ql.exec.UDAFEvaluator;


public class AccumulatedTransactions extends UDAF  {

    public static class MyEvaluator implements UDAFEvaluator  {

        //最终结果
        private StringBuilder result;
        private StringBuilder content;
        //负责初始化计算函数并设置它的内部状态,result是存放最终结果的
        //初始化
        public MyEvaluator()
        {
            init();
        }
        @Override
        public void init() {
            result = new StringBuilder();
            content = new StringBuilder();
        }

        //每次对一个新值进行聚集计算都会调用iterate方法
        public boolean iterate(String roomName,String buy_time,String payment_method)
        {
            content.append("{").append("\"room_name\":\"").append(roomName).append("\"").append(",")
                    .append("\"buy_time\":\"").append(buy_time).append("\"").append(",")
                    .append("\"payment_method\":\"").append(payment_method).append("\"").append("},");
            return true;
        }

        //Hive需要部分聚集结果的时候会调用该方法
        //会返回一个封装了聚集计算当前状态的对象
        public String terminatePartial()
        {
            return content.toString();
        }
        //合并两个部分聚集值会调用这个方法
        public boolean merge(String other)
        {   content.append(other);
            return true;
        }
        //Hive需要最终聚集结果时候会调用该方法
        public String terminate()
        {
            return result.append("[").append(content.toString()).append("]").toString();
        }
    }
}

相关文章

  • 编写UDAF函数

  • 添加 Hive 自定义函数

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

  • spark的UDAF使用

    什么是UDAF? UDAF(User Defined Aggregate Function),即用户定义的聚合函数...

  • Hive的Transform和UDF

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

  • Hive开发自定义函数UDF

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

  • Hive函数

    自定义函数 自定义函数包括三种:UDF、UDAF、UDTF。 UDF(User-Defined-Function)...

  • Hive基础增强-UDAF

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

  • Hive-UDAF

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

  • Hive 用户自定义函数 UDF,UDAF

    Hive有UDF:(普通)UDF,用户自定义聚合函数(UDAF)以及用户自定义生表函数(UDTF)。它们所接受的输...

  • 【Hive】注册UDF的过程

    实现步骤 对比SparkSQL注册UDF的过程SparkSQL用户自定义函数UDF和UDAF、UDTF[https...

网友评论

      本文标题:编写UDAF函数

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