HIVE UDF函数使用
2014-08-07 09:04
447 查看
下面来说说hive的UDF函数使用:
以下是实现类似mysql的date_format的功能UDFjava代码:
然后就是把java代码export出来打包成jar文件。
把jar拷贝到hive所在的机器中:
在hive的客户端依次输入:
ADD JAR /home/test/udf.jar;
CREATE TEMPORARY FUNCTION DATE_FORMAT as 'com.hadoopbook.hive.DATE_FORMAT';
CREATE TEMPORARY FUNCTION SUBSTRING_INDEX as 'com.hadoopbook.hive.SUBSTRING_INDEX';
insert into table t_bz partition(dt)
select LogId,CreateTime,dt from t_bz_tmp where (dt = DATE_FORMAT(CreateTime,'yyyy-MM-dd'));
以下是实现类似mysql的date_format的功能UDFjava代码:
package com.hadoopbook.hive; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import org.apache.hadoop.hive.ql.exec.UDF; import org.apache.hadoop.io.Text; public class DATE_FORMAT extends UDF { private Text result = new Text(); public Text evaluate(Text str, String stripChars) { if (str == null||stripChars ==null) { return null; } try { SimpleDateFormat sdf=new SimpleDateFormat(stripChars); Date date = sdf.parse(str.toString()); String c=sdf.format(date); result.set(c); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } return result; } }
然后就是把java代码export出来打包成jar文件。
把jar拷贝到hive所在的机器中:
在hive的客户端依次输入:
ADD JAR /home/test/udf.jar;
CREATE TEMPORARY FUNCTION DATE_FORMAT as 'com.hadoopbook.hive.DATE_FORMAT';
CREATE TEMPORARY FUNCTION SUBSTRING_INDEX as 'com.hadoopbook.hive.SUBSTRING_INDEX';
insert into table t_bz partition(dt)
select LogId,CreateTime,dt from t_bz_tmp where (dt = DATE_FORMAT(CreateTime,'yyyy-MM-dd'));
相关文章推荐
- hive 使用udf函数实现数据导入到mysql
- hive中使用自定义函数(UDF)实现分析函数row_number的功能
- Hive扩展功能(三)--使用UDF函数将Hive中的数据插入MySQL中
- hive下UDF函数的使用
- hive自定义函数udf,hiveserver2的使用
- hive中使用自定义函数(UDF)实现分析函数row_number的功能
- 内置函数 & UDF函数在Hive中的使用
- hive下UDF函数的使用
- Hive udf函数的使用
- Hive中实现自定义函数UDF详细过程
- 开发hive UDF函数
- hive中UDF和UDAF使用说明
- hive中UDF和UDAF使用说明
- hive中添加自定义udf udaf udtf等函数的jar文件的三种方法
- Hive的预定义UDF函数
- hive中UDF、UDAF和UDTF使用
- Hive内部自定义函数UDF
- hive中UDF和UDAF使用说明
- Hive UDF实现函数MD5
- Hive UDF实现分析函数row_number