我们专注攀枝花网站设计 攀枝花网站制作 攀枝花网站建设
成都网站建设公司服务热线:400-028-6601

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

hive扩展函数开发的实现方法

这期内容当中小编将会给大家带来有关 hive扩展函数开发的实现方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

在内蒙古等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站制作、成都网站建设、外贸营销网站建设 网站设计制作按需求定制制作,公司网站建设,企业网站建设,高端网站设计,营销型网站建设,外贸营销网站建设,内蒙古网站建设费用合理。

提供以下两种实现方式:a继承org.apache.hadoop.hive.ql.exec.UDF类

代码包为:packageorg.apache.hadoop.hive.ql.udf

实现evaluate方法,根据输入参数和返回参数类型,系统自动转换到匹配的方法实现上。

例如:

•    UDFTestLength.java:

importorg.apache.hadoop.io.IntWritable;

importorg.apache.hadoop.io.Text;

public classUDFTestLength extends UDF {

  IntWritable result = new IntWritable();

  public IntWritable evaluate(Text s) {

    if (s== null) {

      return null;

    }

    result.set(countUDF8Characters(s));

    return result;

  }

}

b继承org.apache.hadoop.hive.ql.udf.generic.GenericUDF类

代码包为:packageorg.apache.hadoop.hive.ql.udf. generic

实现initialize ,evaluate,    getDisplayString方法

例如:

@Description(name = "url_to_map", value = "_FUNC_(text,delimiter1, delimiter2) - "      

public class GenericUDFUrlToMap extends GenericUDF{

HashMap ret = new HashMap();

@Override

public ObjectInspector initialize(ObjectInspector[]arguments)

        throwsUDFArgumentException {

     … …

     returnObjectInspectorFactory.getStandardMapObjectInspector(

            PrimitiveObjectInspectorFactory.javaStringObjectInspector,

            PrimitiveObjectInspectorFactory.javaStringObjectInspector);

}

@Override

public Object evaluate(DeferredObject[]arguments) throws HiveException {

     ret.clear();

     … …

     return ret;

}

@Override

public String getDisplayString(String[]children) {

     StringBuildersb = new StringBuilder();

     sb.append("url_to_map(");

     assert (children.length <= 3);

     boolean firstChild = true;

     for (String child :children) {

        if (firstChild) {

            firstChild= false;

        }else {

            sb.append(",");

        }

        sb.append(child);

     }

     sb.append(")");

     return sb.toString();

}

}

上述就是小编为大家分享的 hive扩展函数开发的实现方法了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。


当前标题:hive扩展函数开发的实现方法
本文URL:http://shouzuofang.com/article/ijihdp.html

其他资讯