自定义函数

和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的那些事(下)相关推荐

  1. linux查看hive安装目录,Linux下hive安装及测试

    前提:提前在linux下安装好了hadoop和mysql并且已经启动. apache-hive-2.1.1-bin.tar.gz mysql-connector-java-5.1.7-bin.jar ...

  2. python操作hive数据库代码_windows下怎么用python连接hive数据库

    展开全部 由于版本的不同,Python 连接 Hive 的方式也就不一样. 在网上搜索关键字 python hive 的时候可以找到一些解决方案.大部分是这3231313335323631343130 ...

  3. 安装Ubuntu 14.10后要做的事(下)—— 开发工具篇

    1 完善GCC环境 安装g++编译器 命令: sudo apt-get install build-essential build-essential是一套完整的软件包,它提供了编译程序必需的软件包列 ...

  4. hadoop生态下hive安装过程

    Hive的安装部署 1.首先在Linux本地,新建/data/hive1目录,用于存放所需文件 (1)mkdir -p /data/hive1 (2)切换目录到/data/hive1下,上传apach ...

  5. Spark入门实战系列--5.Hive(下)--Hive实战

    [注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 1.Hive操作演示 1.1 内部表 1.1.1 创建表并加载数据 第一步   启动HDFS ...

  6. hfds下的文件导入hive表格

    目的:每天向hive表格导入hfds下的文件 结果:整个文件夹下的文件均能导入到该表格中:不管总文件夹下生成了多少个小文件-- table_name.columns_name.path_name.pa ...

  7. Hive入门教程<2> | hive在centos7下的安装部署

    hive在centos7下的安装部署 前提 安装hive hadoop集群配置 hive基本操作 演示向hive中导入本地数据文件 前提 1.首先有自己的远程终端登录工具,我这里用的是mobaxter ...

  8. 大数据基础(二)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 ...

  9. 新的比较详细的hive安装教程,包含:hadoop的安装配置,hive安装详细教程,大数据下hive详细配置和简单使用和hive元数据迁移相关安装配置操作

    简介:这是大数据里安装hive比较详细的教程,包括安装hive时hadoop的相关配置,hive安装,hive 之后的mysql安装,hive的元素配置到mysql相关配置,hive常见属性的相关配置 ...

最新文章

  1. LNMP环境搭建(一)搭建PHP环境
  2. 软件工程作业No.5
  3. 带FIFO的UART收发器设计(转发)
  4. 华为配置(S3100)
  5. Leetcode1712. 将数组分成三个子数组的方案数[C++题解]:双指针和前缀和
  6. 北京点击科技有限公司董事长兼总裁——王志东经典语录2
  7. 好的产品经理,应该有什么样的特质?
  8. [导入]在SYBASE数据库中使用游标(Cursors)将多行查询结果进行逐行处理
  9. python画雷达图-Python简单雷达图绘制
  10. Nagios插件开发指导
  11. rails mysql2 mac_用Mac osx10.6在Ruby on Rails上安裝mysql2 gem。
  12. 【毕设教程】如何使用单片机控制步进电机
  13. java 提示语法错误_java常见语法错误
  14. 似幻亦真 教你踏足网络仿真的云外之境
  15. 看精神小伙是如何智斗骗子的
  16. 高通about.html 文件,高通case提交指南2015Oct(4)(1)
  17. 仿微信通讯录的Demo----PinnedHeaderListView
  18. 使用封装的API接口,在控制台输出undefined
  19. 视频教程-spring cloud与spring boot实战视频教程-Java
  20. 无痕模式后如何找到历史_辞职后,如何找到合适的工作?

热门文章

  1. 中文女与程序员的爱情
  2. 职场心理学 让你少奋斗30年
  3. Arnold折射中使用LPE单独提取某个材质的渲染结果
  4. java的equals方法_在Java中编写完美的equals方法
  5. 云桌面场景的典型组网案例
  6. 使用云函数构建短信验证码服务的案例
  7. 计算机不间断电源维修,ups电源工作原理和维修技巧,具体故障现象的分析处理!...
  8. 电大无纸化计算机应用基础考试题及答案,电大计算机应用基础形考试题答案精选版(范文1)...
  9. Kaizen Mini-Story
  10. 长江大学图书馆校外登陆使用学术资源