hive用户自定义函数
一、UDF
1.显示所有函数:show functions ;
2.显示指定函数的帮助:$hive>desc function current_database();
3. 什么是 UDF?
当 Hive 提供的内置函数无法满足你的业务处理需要时,此时就可以考虑使用用户自定义函数(UDF: user-defined function)。2.UDF 开发步骤示例新建 JAVA maven 项目添加 hive-exec-1.2.1.jar 和 hadoop-common-2.7.4.jar 依赖
3.1)写一个 java 类,继承 UDF,并重载 evaluate 方法
package com.it18zhang.hiveDemo; import org.apache.hadoop.hive.ql.exec.Description;
import org.apache.hadoop.hive.ql.exec.UDF; import java.text.SimpleDateFormat;
import java.util.Date; /**
*
*/
@Description(name="tochar",
value="tocharxxx"
)
public class ToCharUDF extends UDF {
/*
* 取出服务器当前时间2018/7/3
* */
public String evaluate(){
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat();
sdf.applyPattern("yyyy/MM/dd hh:mm:ss");
return sdf.format(date);
}
//用户自己传递时间进来
public String evaluate(Date date){
SimpleDateFormat sdf = new SimpleDateFormat();
sdf.applyPattern("yyyy/MM/dd hh:mm:ss");
return sdf.format(date);
}
public String evaluate(Date date ,String srt){
SimpleDateFormat sdf = new SimpleDateFormat();
sdf.applyPattern(srt);
return sdf.format(date);
}
}
3.2)打成 jar 包上传到服务器
3.3)将 jar 包添加到 hive 的 classpath
hive>add JAR /home/hadoop/udf.jar;
3.4) 创建临时函数与开发好的 java class 关联
$>cp /mnt/hgfs/downloads/bigdata/data/HiveDemo.jar /soft/hive/lib
4.重进入hive
5.创建临时函数
CREATE TEMPORARY FUNCTION myadd AS 'com.it18zhang.hivedemo.udf.AddUDF';
6.在查询中使用自定义函数
$hive>select myadd(1,2) ;
hive用户自定义函数的更多相关文章
- Hive中的用户自定义函数UDF
Hive中的自定义函数允许用户扩展HiveQL,是一个非常强大的功能.Hive中具有多种类型的用户自定义函数.show functions命令可以列举出当前Hive会话中的所加载进来的函数,包括内置的 ...
- Hive的UDF(用户自定义函数)开发
当 Hive 提供的内置函数无法满足你的业务处理需要时,此时就可以考虑使用用户自定义函数(UDF:user-defined function). 测试各种内置函数的快捷方法: 创建一个 dual 表 ...
- Hive UDF 用户自定义函数 编程及使用
首先创建工程编写UDF 代码,示例如下: 1. 新建Maven项目 udf 本机Hadoop版本为2.7.7, Hive版本为1.2.2,所以选择对应版本的jar ,其它版本也不影响编译. 2. po ...
- Hive 文件格式 & Hive操作(外部表、内部表、区、桶、视图、索引、join用法、内置操作符与函数、复合类型、用户自定义函数UDF、查询优化和权限控制)
本博文的主要内容如下: Hive文件存储格式 Hive 操作之表操作:创建外.内部表 Hive操作之表操作:表查询 Hive操作之表操作:数据加载 Hive操作之表操作:插入单表.插入多表 Hive语 ...
- Hive中的用户自定义函数
1.1 关于自定义函数 1)Hive 自带了一些函数,比如:max/min等,但是数量有限,自己可以通过自定义UDF来方便的扩展. 2)当Hive提供的内置函数无法满足你的业务处理需要时,此时就可以考 ...
- hive源代码解析之一hive主函数入口
hive其实做的就是解析一条sql然后形成到mapreduce任务,就是一个代码解释器.hive源代码本身就可以分为ql/metasotre/service/serde 这几块:其中 对于Hive来说 ...
- 详解Spark sql用户自定义函数:UDF与UDAF
UDAF = USER DEFINED AGGREGATION FUNCTION Spark sql提供了丰富的内置函数供猿友们使用,辣为何还要用户自定义函数呢?实际的业务场景可能很复杂,内置函数ho ...
- 第3节 hive高级用法:13、hive的函数
4.2.Hive参数配置方式 Hive参数大全: https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties 开 ...
- Spark SQL概念学习系列之用户自定义函数
不多说,直接上干货! 用户自定义函数 注册udf 我们可以使用Spark 支持的编程语言编写好函数,然后通过Spark SQL 内建的方法传递进来,非常便捷地注册我们自己的UDF 在Scala 和Py ...
随机推荐
- JS 省市联动 ajax
省市联动 //省市联动 $('.locationCode').change(function () { var val = $(this).val(); if ...
- Rocketmq异步发送消息
package com.bfxy.rocketmq.quickstart; import java.util.List; import org.apache.rocketmq.client.excep ...
- Android编译异常` Cause: duplicate entry: META-INF/MANIFEST.MF`
目录 Android编译异常Cause: duplicate entry: META-INF/MANIFEST.MF 解决方案2: 治标又治本(暂无) 解决方案1: 治标不治本(还原大法) 参考资料 ...
- 白盒测试 && 接口测试 && 自动化测试
一.什么是白盒测试 白盒测试是一种测试策略,这种策略允许我们检查程序的内部结构,对程序的逻辑结构进行检查,从中获取测试数据.白盒测试的对象基本是源程序,所以它又称为结构测试或逻辑驱动测试,白盒测试方法 ...
- File Zilla连接Ubuntu 失败
一.SFTP方式连接失败 站点配置 连接失败 二.FTP连接方式失败 站点配置 连接失败
- 文件上传and富文本页面
文件上传功能: 1.首先在index.jsp的界面上初始化一个表单. <body> <form enctype="multipart/form-data" act ...
- Python C/S架构,网络通信相关名词,socket编程
主要内容: 一. C/S架构 二. 网络通信的相关名词 三. socket编程 一. C/S架构和B\S架构概述 1. C/S架构: Client/Server(客户端/服务端)架构 描述: C/S ...
- PJzhang:在windows10中实现右键命令行快捷打开
猫宁!!! (windows10---设置---轻松使用---键盘---开启PrtScn快速截图),或者winodws+shift+s kali linux中右键就可以打开终端命令行. 采用手工修改注 ...
- PHP学习(5)——字符串操作与POSIX正则
一.字符串操作 1.字符串的格式化 1.1 干掉空格 trim()函数可以除去字符串开始位置和结束位置的空格,并将结果字符串返回. ltrim()函数可以除去字符串开始位置的空格. rtrim()函数 ...
- prometheus 监控 jar应用服务 + 修改监听IP和端口
1.修改服务的启动脚本 [root@do1cloud01 init.d]# vim learn-school nohup ${JAVA_HOME}/bin/java -javaagent:/usr/l ...