关于hive的那些事(下)
自定义函数
和MySQL一样的hive也为我们内置啦很多函数,比如sum,max,min等。但是有些时候这些内置函数不足以满足我们的需求,需要我们自定义函数去满足实际的业务需求。
直接来一个案例
现在有一份学生表如下
我们需要在每一个学生姓名前面加上字符串”小杨同学“,使用自定义函数
1,导入依赖
<dependency><groupId>org.apache.hive</groupId><artifactId>hive-exec</artifactId><version>3.1.2</version>
</dependency>
2,继承UDF类
public class HelloUdf extends UDF {public String evaluate (String name) {if (name == null) return null;
return "小杨同学:" + name;}
}
3,重写evaluate方法
public class HelloUdf extends UDF {public String evaluate (String name) {if (name == null) return null;
return "小杨同学:" + name;}
}
注意evaluate不能拼错或者自定义名称,血泪教训哈
打包上传至hive节点上的指定路径下
如
/root/awz/soft/hive/cusjar/cushive-1.0-SNAPSHOT.jar
这个可以自定义但是要知道并记住
4,将jar包添加至hive的classpath
add jar /root/awz/soft/hive/cusjar/cushive-1.0-SNAPSHOT.jar;
5,创建临时函数与开发好的Java class关联
create temporary function name as "cn.awz.HelloUdf";
注意:这里是零时函数,当你关闭当前的hive窗口后,函数就消失。
也可以创建永久函数
create function name as "cn.awz.HelloUdf";
6,在hql中使用自定义函数
select name(name) from student;
上面我们只是自定义啦一个UDF函数,他的特点是一进一出
当然啦我们还有UDAF函数,多进一出,
UDTF函数,一进多出
关于hive的那些事(下)相关推荐
- linux查看hive安装目录,Linux下hive安装及测试
前提:提前在linux下安装好了hadoop和mysql并且已经启动. apache-hive-2.1.1-bin.tar.gz mysql-connector-java-5.1.7-bin.jar ...
- python操作hive数据库代码_windows下怎么用python连接hive数据库
展开全部 由于版本的不同,Python 连接 Hive 的方式也就不一样. 在网上搜索关键字 python hive 的时候可以找到一些解决方案.大部分是这3231313335323631343130 ...
- 安装Ubuntu 14.10后要做的事(下)—— 开发工具篇
1 完善GCC环境 安装g++编译器 命令: sudo apt-get install build-essential build-essential是一套完整的软件包,它提供了编译程序必需的软件包列 ...
- hadoop生态下hive安装过程
Hive的安装部署 1.首先在Linux本地,新建/data/hive1目录,用于存放所需文件 (1)mkdir -p /data/hive1 (2)切换目录到/data/hive1下,上传apach ...
- Spark入门实战系列--5.Hive(下)--Hive实战
[注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 1.Hive操作演示 1.1 内部表 1.1.1 创建表并加载数据 第一步 启动HDFS ...
- hfds下的文件导入hive表格
目的:每天向hive表格导入hfds下的文件 结果:整个文件夹下的文件均能导入到该表格中:不管总文件夹下生成了多少个小文件-- table_name.columns_name.path_name.pa ...
- Hive入门教程<2> | hive在centos7下的安装部署
hive在centos7下的安装部署 前提 安装hive hadoop集群配置 hive基本操作 演示向hive中导入本地数据文件 前提 1.首先有自己的远程终端登录工具,我这里用的是mobaxter ...
- 大数据基础(二)hadoop, mave, hbase, hive, sqoop在ubuntu 14.04.04下的安装和sqoop与hdfs,hive,mysql导入导出
hadoop, mave, hbase, hive, sqoop在ubuntu 14.04.04下的安装 2016.05.15 本文测试环境: hadoop2.6.2 ubuntu 14.04.04 ...
- 新的比较详细的hive安装教程,包含:hadoop的安装配置,hive安装详细教程,大数据下hive详细配置和简单使用和hive元数据迁移相关安装配置操作
简介:这是大数据里安装hive比较详细的教程,包括安装hive时hadoop的相关配置,hive安装,hive 之后的mysql安装,hive的元素配置到mysql相关配置,hive常见属性的相关配置 ...
最新文章
- LNMP环境搭建(一)搭建PHP环境
- 软件工程作业No.5
- 带FIFO的UART收发器设计(转发)
- 华为配置(S3100)
- Leetcode1712. 将数组分成三个子数组的方案数[C++题解]:双指针和前缀和
- 北京点击科技有限公司董事长兼总裁——王志东经典语录2
- 好的产品经理,应该有什么样的特质?
- [导入]在SYBASE数据库中使用游标(Cursors)将多行查询结果进行逐行处理
- python画雷达图-Python简单雷达图绘制
- Nagios插件开发指导
- rails mysql2 mac_用Mac osx10.6在Ruby on Rails上安裝mysql2 gem。
- 【毕设教程】如何使用单片机控制步进电机
- java 提示语法错误_java常见语法错误
- 似幻亦真 教你踏足网络仿真的云外之境
- 看精神小伙是如何智斗骗子的
- 高通about.html 文件,高通case提交指南2015Oct(4)(1)
- 仿微信通讯录的Demo----PinnedHeaderListView
- 使用封装的API接口,在控制台输出undefined
- 视频教程-spring cloud与spring boot实战视频教程-Java
- 无痕模式后如何找到历史_辞职后,如何找到合适的工作?
热门文章
- 中文女与程序员的爱情
- 职场心理学 让你少奋斗30年
- Arnold折射中使用LPE单独提取某个材质的渲染结果
- java的equals方法_在Java中编写完美的equals方法
- 云桌面场景的典型组网案例
- 使用云函数构建短信验证码服务的案例
- 计算机不间断电源维修,ups电源工作原理和维修技巧,具体故障现象的分析处理!...
- 电大无纸化计算机应用基础考试题及答案,电大计算机应用基础形考试题答案精选版(范文1)...
- Kaizen Mini-Story
- 长江大学图书馆校外登陆使用学术资源