UDF: 一进一出
Eclipse端 1. 继承UDF 2. 实现evaluate方法(可重裁实现多个evaluate方法,以实现不同需求) 3. 导出类jar包,注意指定main方法 Hive端 1. 将jar包添加到Hive: add jar linux_path # 0.14版才开始支持 2. 创建临时函数: create [temporary] function [if not exists] f_name classpath 删除临时函数: drop [temporary] function [if exists] f_name
简单示例,去除某一列双引号
package com.hive.udf; import org.apache.hadoop.hive.ql.exec.UDF; import org.apache.hadoop.io.Text; public class RMQuotes extends UDF{ public Text evaluate(Text str){ if(str != null){ return new Text(str.toString().replaceAll(""", "")); }else return null; } public static void main(String[] args) { System.out.println(new RMQuotes().evaluate(new Text(""hbhb" "GET /SSS/DDD/FFF?id=8 HTTP/1.1""))); } }