自定义Hive的函数,首先需要继承UDF类,然后定义方法名字为evaluate的方法,该方法不能设置void,如果需要返回为空,可以返回为null.

一个简单的大小写转换案例
特别注意看注释

package com.madman.hive.function;import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;/*** 注释很重要。。* 看注释。* 看注释* 看英文注释。。。。。。。。。* */
/*** A User-defined function (UDF) for the use with Hive.** New UDF classes need to inherit from this UDF class.** Required for all UDF classes: 1. Implement one or more methods named* "evaluate" which will be called by Hive. The following are some examples:* public int evaluate(); public int evaluate(int a); public double evaluate(int* a, double b); public String evaluate(String a, int b, String c);** "evaluate" should never be a void method. However it can return "null" if* needed.*//*** 需求:转换大小写,0代表小写,1代表大写,默认转换小写* * @author ibf**/
public class HiveFunction extends UDF {public Text evaluate(Text str) {return this.evaluate(str, new IntWritable(0));}public Text evaluate(Text str, IntWritable flag) {// 如果不等于null,就进行转换大小写的操作,说明数据合法if (str != null) {// 如果等于0,表示转换小写if (flag.get() == 0) {return new Text(str.toString().toLowerCase());// 如果等于1,表示转换大写} else if (flag.get() == 1) {return new Text(str.toString().toUpperCase());} elsereturn null;} elsereturn null;}public static void main(String[] args) {System.out.println(new HiveFunction().evaluate(new Text("Hadoop"), new IntWritable(0)));}}

大概步骤
继承UDF类,import org.apache.hadoop.hive.ql.exec.UDF;
写完程序,打jar包(指定main类)上传到Linux系统中与jar包进行关联
add jar /opt/moduels/alldata/udf.jar;

创建function函数方法 create temporary function my_udf as 'com.madman.hive.function.HiveFunction';后面这个就是你的类路劲
测试:执行将emp表中的ename全部转换成小写
select ename,my_udf(ename) low_ename from emp;

Hive自定义函数(字母大小写转换)相关推荐

  1. SQL 字母大小写转换函数UPPER()、UCASE()、LOWER()和LCASE()

    1.SQL UPPER()函数 SQL upper()函数字母大小写转换函数,将字母转成大写 - 返回字符串str,根据当前字符集映射的所有字符更改为大写. SQL> SELECT UPPER( ...

  2. php 清除英文字母,PHP英文字母大小写转换函数小结

    PHP英文字母大小写转换函数小结 发布于 2015-01-23 10:54:41 | 143 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext Pr ...

  3. php 英文小写变大写,PHP英文字母大小写转换函数

    例1,每个单词的首字母转换为大写:ucwords() 复制代码 代码示例: $foo = 'hello world!'; $foo = ucwords($foo);             // He ...

  4. php 英文小写变大写,PHP_PHP英文字母大小写转换函数小结,每个单词的首字母转换为大写 - phpStudy...

    PHP英文字母大小写转换函数小结 每个单词的首字母转换为大写:ucwords() $foo = 'hello world!'; $foo = ucwords($foo);             // ...

  5. 2021年大数据Hive(八):Hive自定义函数

    全网最详细的Hive文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 系列历史文章 前言 Hive自定义函数 一.概述 1.UDF(User-Define ...

  6. c语言中字母大写转小写,C语言中字母大小写转换的简单操作

    大写字母要转换小写字母,要怎么操作呢?而在C语言开发中,我们经常会遇到这样或者那样的问题,别着急,爱站技术频道为你细细道来C语言中字母大小写转换的简单操作. C语言tolower()函数:将大写字母转 ...

  7. 7-4 字符串字母大小写转换 (15 分)

    7-4 字符串字母大小写转换 (15 分) 本题要求编写程序,对一个以"#"结束的字符串,将其小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其他字符不变输出. 输入格式 ...

  8. android 字符串数组去重,GitHub - deng-ming-hao/ec-do: 实例为日常开发常用的小实例,包括数组去重,打乱数组,字母大小写转换,cookie操作的封装等。...

    ec-do 自己封装的常用操作实例 实例为日常开发常用的小实例,包括数组去重,打乱数组,字母大小写转换,cookie操作的封装等. 使用方法 引入ec-do.js //去除空格 ecDo.trim(' ...

  9. PTA:Python字符串字母大小写转换

    第3章-14 字符串字母大小写转换 (15分) 本题要求编写程序,对一个以"#"结束的字符串,将其小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其他字符不变输出. 输入 ...

  10. c语言中字母大小写转换的两种办法

    起因: 牛客网一道题,需要按行输入多组字母,然后按行输出其转换大小写后的字母,我们来探讨一下. 分析: 有两个要点需要注意,一是要按行多组输入,二是要字母大小写转换.首先是按行多组输入,我们可以用wh ...

最新文章

  1. jquery ajaxSubmit
  2. [luogu 2324][SCOI 2005] 骑士精神 (A*算法)
  3. java 常量池 和 堆 的关系_Java堆、栈和常量池以及相关String的详细讲解(经典中的经典)...
  4. C# 的扩展方法在 LINQ 中实现数组排序
  5. IAR下μCosIII移植心得
  6. 国内git clone报错问题解决办法
  7. Android第三方开源水面波浪波形view:WaveView(电量、能量、容量指示)
  8. XMLDictionary 解析的使用
  9. BZOJ P1059 [ZJOI2007]矩阵游戏——solution
  10. 最安全的php加密,安全性 - 使用PHP进行最简单的双向加密
  11. 老人机java游戏模拟器_KEmulator(JAVA手机游戏模拟器)
  12. 常用c语言代码大全,C语言的一些常用代码
  13. IBM的量子云计算准备开始商用 我国此前已实现量子加密产品商用
  14. 现代优化算法 之 模拟退火
  15. 如何在微信公众号优雅地添加代码
  16. oracle 体系架构图
  17. keras求两向量间的余弦值
  18. Python OpenCV真香——去除照片白色背景
  19. jq实现checkbox全选中以及获得选中的checkbox的值
  20. 1.7 使用不同设备类型的iOS模拟器 [原创iOS开发-Xcode教程]

热门文章

  1. Swift开发 UIColor分类Hex颜色转换
  2. 免费在线CAD转PDF怎么批量转换
  3. 魔镜魔镜告诉我谁是世界上最美的人 语音唤醒,百度语音识别。从装系统开始
  4. 【51单片机快速入门指南】4.2: SSD1306 OLED屏(0.96寸、1.3寸)的I2C控制详解
  5. 如何获取阿里云免费的SSL证书
  6. Linux下的桥接模式和Nat模式的区别
  7. 期货开户公司行情资讯及时高效
  8. 教你使用powerDesigner反向生成oracle数据库模型
  9. 计算机图形学——三维图形几何变换和投影转换(VC)
  10. 第一天之导入Vuetify的坑