public class ItcastUDF extends UDF {
public Text evaluate(final Text s) {
if (null == s) {
return null;
}
//返回大写字母
return new Text(s.toString().toUpperCase());
}
}
3、将我们的项目打包,并上传到虚拟机/tmp目录下
4、添加我们的jar包
进入hive的shell窗口添加我们的jar包
//add jar jar包所在的绝对路径
add jar /tmp/original-task_20191124_udf-1.0-SNAPSHOT.jar;
5、设置函数与我们的自定义函数关联
<--创建临时函数-->
create temporary function tolowercase as 'com.czxy.udf.ItcastUDF'; //包名.类名
<--删除临时函数-->
drop temporary function tolowercase
<--创建永久函数-->
create function tolowercase1 as 'com.czxy.udf.ItcastUDF';
<--删除永久函数-->
drop function tolowercase1;
6、使用自定义函数
select tolowercase('abc');
(三)注意事项
(1)UDF必须要有返回类型,可以返回null,但是返回类型不能为void;
(2)UDF中常用Text/LongWritable等类型,不推荐使用java类型;
三、java方式自定义函数
1、书写函数逻辑
package com.czxy.demo01;
public class custom_function {
public String gettr(String data){
return data+"哈哈哈哈哈";
}
}
2、打包上传到虚拟机/tmp目录下
3、添加我们的jar包并使用
add jar jar包在虚拟机上的绝对路径 select reflect('包名.类名','函数名','传递到函数的参数');
hive (default)> add jar /opt/original-task_20191124_udf-1.0-SNAPSHOT.jar;
Added [/opt/original-task_20191124_udf-1.0-SNAPSHOT.jar] to class path
Added resources: [/opt/original-task_20191124_udf-1.0-SNAPSHOT.jar]
hive (default)> select reflect('com.czxy.demo01.custom_function','getStr','chundidecanshu ');
OK
_c0
chundidecanshu aaaaa
Time taken: 12.427 seconds, Fetched: 1 row(s)
hive (default)>
eclipse中使用maven插件的时候,运行run as maven build的时候报错
-Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable and mvn script match.
可以设一个环境变量M2_HOME指
1.建好一个专门放置MySQL的目录
/mysql/db数据库目录
/mysql/data数据库数据文件目录
2.配置用户,添加专门的MySQL管理用户
>groupadd mysql ----添加用户组
>useradd -g mysql mysql ----在mysql用户组中添加一个mysql用户
3.配置,生成并安装MySQL
>cmake -D
好久没有去安装过MYSQL,今天自己在安装完MYSQL过后用navicat for mysql去厕测试链接的时候出现了10061的问题,因为的的MYSQL是最新版本为5.6.24,所以下载的文件夹里没有my.ini文件,所以在网上找了很多方法还是没有找到怎么解决问题,最后看到了一篇百度经验里有这个的介绍,按照其步骤也完成了安装,在这里给大家分享下这个链接的地址
import java.io.UnsupportedEncodingException;
/**
* 转换字符串的编码
*/
public class ChangeCharset {
/** 7位ASCII字符,也叫作ISO646-US、Unicode字符集的基本拉丁块 */
public static final Strin
其实这个没啥技术含量,大湿们不要操笑哦,只是做一个简单的记录,简单用了一下递归算法。
import java.io.File;
/**
* @author Perlin
* @date 2014-6-30
*/
public class PrintDirectory {
public static void printDirectory(File f
linux安装mysql出现libs报冲突解决
安装mysql出现
file /usr/share/mysql/ukrainian/errmsg.sys from install of MySQL-server-5.5.33-1.linux2.6.i386 conflicts with file from package mysql-libs-5.1.61-4.el6.i686
Dear,
I'm pleased to announce that ktap release v0.1, this is the first official
release of ktap project, it is expected that this release is not fully
functional or very stable and we welcome bu