1.使用方法

在hive中加载jar包,调用udf函数

#从名字中获取姓
add jar ${scriptDir}/GetLastNameUDF.jar;
create temporary function getLastName as 'com.st.udf.GetLastNameUDF';
#或者(前提是将GetLastNameUDF.jar包上传到/HIVE_UDF目录)
create temporary function getLastName as 'com.st.udf.GetLastNameUDF' using jar 'hdfs:///HIVE_UDF/GetLastNameUDF.jar';

select '江XX',getLastName('江XX') from dual;

2.UDF开发

package com.st.udf;

import java.util.ArrayList;

import org.apache.hadoop.hive.ql.exec.UDF;

/**
*
* @author zjdc
*
* 获取姓名中的姓氏
*
*/
public class GetLastNameUDF extends UDF{ public static ArrayList lastNameList = new ArrayList(); /**
* 构造函数,加载姓氏数据
*/
public GetLastNameUDF() {
lastNameList.add("1,赵");
lastNameList.add("2,钱");
lastNameList.add("3,孙");
lastNameList.add("4,李");
lastNameList.add("5,周");
lastNameList.add("6,吴");
lastNameList.add("7,郑");
lastNameList.add("8,王");
lastNameList.add("9,冯");
lastNameList.add("10,陈");
lastNameList.add("11,褚");
lastNameList.add("12,卫");
lastNameList.add("13,蒋");
lastNameList.add("14,沈");
lastNameList.add("15,韩");
lastNameList.add("16,杨");
lastNameList.add("17,朱");
lastNameList.add("18,秦");
lastNameList.add("19,尤");
lastNameList.add("20,许");
lastNameList.add("21,何");
lastNameList.add("22,吕");
lastNameList.add("23,施");
lastNameList.add("24,张");
lastNameList.add("25,孔");
lastNameList.add("26,曹");
lastNameList.add("27,严");
lastNameList.add("28,华");
lastNameList.add("29,金");
lastNameList.add("30,魏");
lastNameList.add("31,陶");
lastNameList.add("32,姜");
lastNameList.add("33,戚");
lastNameList.add("34,谢");
lastNameList.add("35,邹");
lastNameList.add("36,喻");
lastNameList.add("37,柏");
lastNameList.add("38,水");
lastNameList.add("39,窦");
lastNameList.add("40,章");
lastNameList.add("41,云");
lastNameList.add("42,苏");
lastNameList.add("43,潘");
lastNameList.add("44,葛");
lastNameList.add("45,奚");
lastNameList.add("46,范");
lastNameList.add("47,彭");
lastNameList.add("48,郎");
lastNameList.add("49,鲁");
lastNameList.add("50,韦");
lastNameList.add("51,昌");
lastNameList.add("52,马");
lastNameList.add("53,苗");
lastNameList.add("54,凤");
lastNameList.add("55,花");
lastNameList.add("56,方");
lastNameList.add("57,俞");
lastNameList.add("58,任");
lastNameList.add("59,袁");
lastNameList.add("60,柳");
lastNameList.add("61,酆");
lastNameList.add("62,鲍");
lastNameList.add("63,史");
lastNameList.add("64,唐");
lastNameList.add("65,费");
lastNameList.add("66,廉");
lastNameList.add("67,岑");
lastNameList.add("68,薛");
lastNameList.add("69,雷");
lastNameList.add("70,贺");
lastNameList.add("71,倪");
lastNameList.add("72,汤");
lastNameList.add("73,滕");
lastNameList.add("74,殷");
lastNameList.add("75,罗");
lastNameList.add("76,毕");
lastNameList.add("77,郝");
lastNameList.add("78,邬");
lastNameList.add("79,安");
lastNameList.add("80,常");
lastNameList.add("81,乐");
lastNameList.add("82,于");
lastNameList.add("83,时");
lastNameList.add("84,傅");
lastNameList.add("85,皮");
lastNameList.add("86,卞");
lastNameList.add("87,齐");
lastNameList.add("88,康");
lastNameList.add("89,伍");
lastNameList.add("90,余");
lastNameList.add("91,元");
lastNameList.add("92,卜");
lastNameList.add("93,顾");
lastNameList.add("94,孟");
lastNameList.add("95,平");
lastNameList.add("96,黄");
lastNameList.add("97,和");
lastNameList.add("98,穆");
lastNameList.add("99,萧");
lastNameList.add("100,尹");
lastNameList.add("101,姚");
lastNameList.add("102,邵");
lastNameList.add("103,堪");
lastNameList.add("104,汪");
lastNameList.add("105,祁");
lastNameList.add("106,毛");
lastNameList.add("107,禹");
lastNameList.add("108,狄");
lastNameList.add("109,米");
lastNameList.add("110,贝");
lastNameList.add("111,明");
lastNameList.add("112,臧");
lastNameList.add("113,计");
lastNameList.add("114,伏");
lastNameList.add("115,成");
lastNameList.add("116,戴");
lastNameList.add("117,谈");
lastNameList.add("118,宋");
lastNameList.add("119,茅");
lastNameList.add("120,庞");
lastNameList.add("121,熊");
lastNameList.add("122,纪");
lastNameList.add("123,舒");
lastNameList.add("124,屈");
lastNameList.add("125,项");
lastNameList.add("126,祝");
lastNameList.add("127,董");
lastNameList.add("128,粱");
lastNameList.add("129,杜");
lastNameList.add("130,阮");
lastNameList.add("131,蓝");
lastNameList.add("132,闵");
lastNameList.add("133,席");
lastNameList.add("134,季");
lastNameList.add("135,麻");
lastNameList.add("136,强");
lastNameList.add("137,贾");
lastNameList.add("138,路");
lastNameList.add("139,娄");
lastNameList.add("140,危");
lastNameList.add("141,江");
lastNameList.add("142,童");
lastNameList.add("143,颜");
lastNameList.add("144,郭");
lastNameList.add("145,梅");
lastNameList.add("146,盛");
lastNameList.add("147,林");
lastNameList.add("148,刁");
lastNameList.add("149,钟");
lastNameList.add("150,徐");
lastNameList.add("151,邱");
lastNameList.add("152,骆");
lastNameList.add("153,高");
lastNameList.add("154,夏");
lastNameList.add("155,蔡");
lastNameList.add("156,田");
lastNameList.add("157,樊");
lastNameList.add("158,胡");
lastNameList.add("159,凌");
lastNameList.add("160,霍");
lastNameList.add("161,虞");
lastNameList.add("162,万");
lastNameList.add("163,支");
lastNameList.add("164,柯");
lastNameList.add("165,昝");
lastNameList.add("166,管");
lastNameList.add("167,卢");
lastNameList.add("168,莫");
lastNameList.add("169,经");
lastNameList.add("170,房");
lastNameList.add("171,裘");
lastNameList.add("172,缪");
lastNameList.add("173,干");
lastNameList.add("174,解");
lastNameList.add("175,应");
lastNameList.add("176,宗");
lastNameList.add("177,丁");
lastNameList.add("178,宣");
lastNameList.add("179,贲");
lastNameList.add("180,邓");
lastNameList.add("181,郁");
lastNameList.add("182,单");
lastNameList.add("183,杭");
lastNameList.add("184,洪");
lastNameList.add("185,包");
lastNameList.add("186,诸");
lastNameList.add("187,左");
lastNameList.add("188,石");
lastNameList.add("189,崔");
lastNameList.add("190,吉");
lastNameList.add("191,钮");
lastNameList.add("192,龚");
lastNameList.add("193,程");
lastNameList.add("194,嵇");
lastNameList.add("195,邢");
lastNameList.add("196,滑");
lastNameList.add("197,裴");
lastNameList.add("198,陆");
lastNameList.add("199,荣");
lastNameList.add("200,翁");
lastNameList.add("201,荀");
lastNameList.add("202,羊");
lastNameList.add("203,於");
lastNameList.add("204,惠");
lastNameList.add("205,甄");
lastNameList.add("206,麴");
lastNameList.add("207,家");
lastNameList.add("208,封");
lastNameList.add("209,芮");
lastNameList.add("210,羿");
lastNameList.add("211,储");
lastNameList.add("212,靳");
lastNameList.add("213,汲");
lastNameList.add("214,邴");
lastNameList.add("215,糜");
lastNameList.add("216,松");
lastNameList.add("217,井");
lastNameList.add("218,段");
lastNameList.add("219,富");
lastNameList.add("220,巫");
lastNameList.add("221,乌");
lastNameList.add("222,焦");
lastNameList.add("223,巴");
lastNameList.add("224,弓");
lastNameList.add("225,牧");
lastNameList.add("226,隗");
lastNameList.add("227,山");
lastNameList.add("228,谷");
lastNameList.add("229,车");
lastNameList.add("230,侯");
lastNameList.add("231,宓");
lastNameList.add("232,蓬");
lastNameList.add("233,全");
lastNameList.add("234,郗");
lastNameList.add("235,班");
lastNameList.add("236,仰");
lastNameList.add("237,秋");
lastNameList.add("238,仲");
lastNameList.add("239,伊");
lastNameList.add("240,宫");
lastNameList.add("241,宁");
lastNameList.add("242,仇");
lastNameList.add("243,栾");
lastNameList.add("244,暴");
lastNameList.add("245,甘");
lastNameList.add("246,钭");
lastNameList.add("247,厉");
lastNameList.add("248,戎");
lastNameList.add("249,祖");
lastNameList.add("250,武");
lastNameList.add("251,符");
lastNameList.add("252,刘");
lastNameList.add("253,景");
lastNameList.add("254,詹");
lastNameList.add("255,束");
lastNameList.add("256,龙");
lastNameList.add("257,叶");
lastNameList.add("258,幸");
lastNameList.add("259,司");
lastNameList.add("260,韶");
lastNameList.add("261,郜");
lastNameList.add("262,黎");
lastNameList.add("263,蓟");
lastNameList.add("264,薄");
lastNameList.add("265,印");
lastNameList.add("266,宿");
lastNameList.add("267,白");
lastNameList.add("268,怀");
lastNameList.add("269,蒲");
lastNameList.add("270,邰");
lastNameList.add("271,从");
lastNameList.add("272,鄂");
lastNameList.add("273,索");
lastNameList.add("274,咸");
lastNameList.add("275,籍");
lastNameList.add("276,赖");
lastNameList.add("277,卓");
lastNameList.add("278,蔺");
lastNameList.add("279,屠");
lastNameList.add("280,蒙");
lastNameList.add("281,池");
lastNameList.add("282,乔");
lastNameList.add("283,阴");
lastNameList.add("284,欎");
lastNameList.add("285,胥");
lastNameList.add("286,能");
lastNameList.add("287,苍");
lastNameList.add("288,双");
lastNameList.add("289,闻");
lastNameList.add("290,莘");
lastNameList.add("291,党");
lastNameList.add("292,翟");
lastNameList.add("293,谭");
lastNameList.add("294,贡");
lastNameList.add("295,劳");
lastNameList.add("296,逄");
lastNameList.add("297,姬");
lastNameList.add("298,申");
lastNameList.add("299,扶");
lastNameList.add("300,堵");
lastNameList.add("301,冉");
lastNameList.add("302,宰");
lastNameList.add("303,郦");
lastNameList.add("304,雍");
lastNameList.add("305,舄");
lastNameList.add("306,璩");
lastNameList.add("307,桑");
lastNameList.add("308,桂");
lastNameList.add("309,濮");
lastNameList.add("310,牛");
lastNameList.add("311,寿");
lastNameList.add("312,通");
lastNameList.add("313,边");
lastNameList.add("314,扈");
lastNameList.add("315,燕");
lastNameList.add("316,冀");
lastNameList.add("317,郏");
lastNameList.add("318,浦");
lastNameList.add("319,尚");
lastNameList.add("320,农");
lastNameList.add("321,温");
lastNameList.add("322,别");
lastNameList.add("323,庄");
lastNameList.add("324,晏");
lastNameList.add("325,柴");
lastNameList.add("326,瞿");
lastNameList.add("327,阎");
lastNameList.add("328,充");
lastNameList.add("329,慕");
lastNameList.add("330,连");
lastNameList.add("331,茹");
lastNameList.add("332,习");
lastNameList.add("333,宦");
lastNameList.add("334,艾");
lastNameList.add("335,鱼");
lastNameList.add("336,容");
lastNameList.add("337,向");
lastNameList.add("338,古");
lastNameList.add("339,易");
lastNameList.add("340,慎");
lastNameList.add("341,戈");
lastNameList.add("342,廖");
lastNameList.add("343,庚");
lastNameList.add("344,终");
lastNameList.add("345,暨");
lastNameList.add("346,居");
lastNameList.add("347,衡");
lastNameList.add("348,步");
lastNameList.add("349,都");
lastNameList.add("350,耿");
lastNameList.add("351,满");
lastNameList.add("352,弘");
lastNameList.add("353,匡");
lastNameList.add("354,国");
lastNameList.add("355,文");
lastNameList.add("356,寇");
lastNameList.add("357,广");
lastNameList.add("358,禄");
lastNameList.add("359,阙");
lastNameList.add("360,东");
lastNameList.add("361,殴");
lastNameList.add("362,殳");
lastNameList.add("363,沃");
lastNameList.add("364,利");
lastNameList.add("365,蔚");
lastNameList.add("366,越");
lastNameList.add("367,夔");
lastNameList.add("368,隆");
lastNameList.add("369,师");
lastNameList.add("370,巩");
lastNameList.add("371,厍");
lastNameList.add("372,聂");
lastNameList.add("373,晁");
lastNameList.add("374,勾");
lastNameList.add("375,敖");
lastNameList.add("376,融");
lastNameList.add("377,冷");
lastNameList.add("378,訾");
lastNameList.add("379,辛");
lastNameList.add("380,阚");
lastNameList.add("381,那");
lastNameList.add("382,简");
lastNameList.add("383,饶");
lastNameList.add("384,空");
lastNameList.add("385,曾");
lastNameList.add("386,毋");
lastNameList.add("387,沙");
lastNameList.add("388,乜");
lastNameList.add("389,养");
lastNameList.add("390,鞠");
lastNameList.add("391,须");
lastNameList.add("392,丰");
lastNameList.add("393,巢");
lastNameList.add("394,关");
lastNameList.add("395,蒯");
lastNameList.add("396,相");
lastNameList.add("397,查");
lastNameList.add("398,後");
lastNameList.add("399,荆");
lastNameList.add("400,红");
lastNameList.add("401,游");
lastNameList.add("402,竺");
lastNameList.add("403,权");
lastNameList.add("404,逯");
lastNameList.add("405,盖");
lastNameList.add("406,益");
lastNameList.add("407,桓");
lastNameList.add("408,公");
lastNameList.add("409,万俟");
lastNameList.add("410,司马");
lastNameList.add("411,上官");
lastNameList.add("412,欧阳");
lastNameList.add("413,夏侯");
lastNameList.add("414,诸葛");
lastNameList.add("415,闻人");
lastNameList.add("416,东方");
lastNameList.add("417,赫连");
lastNameList.add("418,皇甫");
lastNameList.add("419,尉迟");
lastNameList.add("420,公羊");
lastNameList.add("421,澹台");
lastNameList.add("422,公冶");
lastNameList.add("423,宗政");
lastNameList.add("424,濮阳");
lastNameList.add("425,淳于");
lastNameList.add("426,单于");
lastNameList.add("427,太叔");
lastNameList.add("428,申屠");
lastNameList.add("429,公孙");
lastNameList.add("430,仲孙");
lastNameList.add("431,轩辕");
lastNameList.add("432,令狐");
lastNameList.add("433,钟离");
lastNameList.add("434,宇文");
lastNameList.add("435,长孙");
lastNameList.add("436,慕容");
lastNameList.add("437,鲜于");
lastNameList.add("438,闾丘");
lastNameList.add("439,司徒");
lastNameList.add("440,司空");
lastNameList.add("441,亓官");
lastNameList.add("442,司寇");
lastNameList.add("443,仉");
lastNameList.add("444,督");
lastNameList.add("445,子车");
lastNameList.add("446,颛孙");
lastNameList.add("447,端木");
lastNameList.add("448,巫马");
lastNameList.add("449,公西");
lastNameList.add("450,漆雕");
lastNameList.add("451,乐正");
lastNameList.add("452,壤驷");
lastNameList.add("453,公良");
lastNameList.add("454,拓拔");
lastNameList.add("455,夹谷");
lastNameList.add("456,宰父");
lastNameList.add("457,谷粱");
lastNameList.add("458,晋楚");
lastNameList.add("459,闫法");
lastNameList.add("460,汝");
lastNameList.add("461,鄢");
lastNameList.add("462,涂");
lastNameList.add("463,钦");
lastNameList.add("464,段干");
lastNameList.add("465,百里");
lastNameList.add("466,东郭");
lastNameList.add("467,南门");
lastNameList.add("468,呼延");
lastNameList.add("469,归");
lastNameList.add("470,海");
lastNameList.add("471,羊舌");
lastNameList.add("472,微生");
lastNameList.add("473,岳");
lastNameList.add("474,帅");
lastNameList.add("475,缑");
lastNameList.add("476,亢");
lastNameList.add("477,况");
lastNameList.add("478,后");
lastNameList.add("479,有");
lastNameList.add("480,琴");
lastNameList.add("481,梁丘");
lastNameList.add("482,左丘");
lastNameList.add("483,东门");
lastNameList.add("484,西门");
lastNameList.add("485,商");
lastNameList.add("486,牟");
lastNameList.add("487,佘");
lastNameList.add("488,佴");
lastNameList.add("489,伯");
lastNameList.add("490,赏");
lastNameList.add("491,南宫");
lastNameList.add("492,墨");
lastNameList.add("493,哈");
lastNameList.add("494,谯");
lastNameList.add("495,笪");
lastNameList.add("496,年");
lastNameList.add("497,爱");
lastNameList.add("498,阳");
lastNameList.add("499,佟");
lastNameList.add("500,第五");
lastNameList.add("501,言");
lastNameList.add("502,福");
} public String evaluate(String name) throws Exception{ String result = ""; name = name.trim(); for(int i = ; i < lastNameList.size(); i++) {
String line = (String)lastNameList.get(i);
String lastNameId = line.split(",")[];
String lastName = line.split(",")[];
if(name.startsWith(lastName)) {
result = lastName;
break;
}
} return result;
} }

UDF-java获取名字中的姓的更多相关文章

  1. java获取request中的参数、java解析URL问号后的参数

    java获取request中的参数.java解析URL问号后的参数.有时候我们需要从request中获取参数,或者获取拼接在Url后面的参数,有时候一个一个去拿有点麻烦,一起拿出来放在一个map里面需 ...

  2. Java获取路径中的文件名(正则表达式)

    Java获取路径中的文件名(正则表达式) 目标 在这个路径中我想得到model2 /E:/2017-02-21--SoftWare/github/test/Java/poiDemo_word2exce ...

  3. java 获取局域网中的全部主机名和IP地址

    DOS命令 命令 意义 net view 获取局域网中的全部主机名 ipconfig -all 获取本地IP,主机名,MAC地址 arp -a 获取本局域网中的全部IP地址和物理地址 ping -a ...

  4. Java 获取Word中的标题大纲(目录)

    概述 Word中的标题可通过"样式"中的选项来快速设置(如图1), 图1 在添加目录时,可将"有效样式"设置为"目录级别"显示(如图2),一 ...

  5. java获取url中的参数

    获取地址栏中的url中的userName的值 String userName=new String(request.getParameter("userName")); 获取中文的 ...

  6. Java 获取表格中某一个单元格的值

    需求 搜索页面返回表格样搜索结果, 获取搜索结果中某个单元格的具体值. 以下图为例, 下表是搜索返回的结果, 第一行是各个列的名字, 其它是具体的返回值. 方法1: 根据用户输入的表头名来确定是第几列 ...

  7. java获取配置文件中的key=value值

    1.献上工具类 package com.test.util; import java.io.FileInputStream; import java.io.FileNotFoundException; ...

  8. Java获取项目中的路径 分类: Java Game 2014-08-14 10:17 122人阅读 评论(0) 收藏

    在项目中经常需要获取某个文件的路径: 在这里提供一些获取路径的方法.. 1.此种方式获取的路径,是当前类所在的路径: UserDAOTest.class.getResource("UserD ...

  9. java获取tomcat中的properties文件

    System.getProperty("catalina.home") 获取tomcat的绝对路径 获取文件的绝对路径 在windous中拼接路径是" \ " ...

随机推荐

  1. Appium+python自动化-Remote远程控制

    前言 在第三篇启动app的时候有这样一行代码driver = webdriver.Remote('http://192.168.1.1:4723/wd/hub', desired_caps),很多小伙 ...

  2. Kubuntu上连接PPTP

    生活在天朝,如果没备几招FQ的本领,都不敢说自己还活着... 前两天从朋友那抢了个VPN帐号,使用的是PPTP的,在google上找了一会,发现网上大都是讲VPN服务搭建的,就算是介绍客户端的,也大都 ...

  3. 从HiveQL到MapReduce job过程简析

    一.简述 HiveQL是一种声明式语言,用户提交查询,而Hive会将其转换成MapReduce job,如下图.一般来说大部分时间可以无视这个执行过程的内部逻辑,但是如果能了解这些底层实现细节,在调优 ...

  4. CSS中的元素分类

    CSS中的元素分类 元素是文档结构的基础,在CSS中,每个元素生成了一个包含了元素内容的框(box,也译为"盒子").但是不同的元素显示的方式会有所不同,例如<div> ...

  5. Windows 毫秒计时

    #include <windows.h> #include <iostream> using namespace std; LARGE_INTEGER MilliSecondT ...

  6. 基于CacheManager组件的缓存产品配置

    一.Couchbase 使用CacheManager组件,在配置Couchbase缓存支持时,由于对配置节cache handle命名规则要求不了解,费了点时间查了源码才明白. section配置节 ...

  7. SVM之SMO算法(转)

    支持向量机(Support Vector Machine)-----SVM之SMO算法(转) 此文转自两篇博文 有修改 序列最小优化算法(英语:Sequential minimal optimizat ...

  8. html5标签---不常用新标签的整理

    状态标签 meter 用来显示已知范围的标量值或者分数值. value:当前的数值. min:值域的最小边界值.如果设置了,它必须比最大值要小.如果没设置,默认为0 max:值域的上限边界值.如果设置 ...

  9. 1028 Web Navigation

    题目链接: http://poj.org/problem?id=1028 题意: 模拟浏览器的前进/后退/访问/退出 的四个操作. 输出当前访问的URL或者Ignore(如果不能前进/后退). 分析: ...

  10. Qt的QPixmap半透明

    QPixmap pix1(":/PixmapTest/Resources/Chrysanthemum.jpg"); QPixmap temp(pix1.size()); temp. ...