md5`加密2:udf简单实现
来源:互联网 发布:纸模软件 编辑:程序博客网 时间:2024/06/16 14:28
首先编写udf的java文件
除了导入hadoop里面的jar包之外(hadoop/share/hadoop/ : common 以及common里的lib ,mapreduce 以及mapredure 里面的lib; yarn 以及yarn里面的lib)
还需要导入hive里面的lib所有jar包
接下来是java主体部分,是把之前java上实现的拿来改一些地方:
package myudf1;import org.apache.hadoop.hive.ql.exec.UDF;import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import sun.misc.BASE64Encoder; public class Md5Test1 extends UDF{ public String evaluate(String str) throws NoSuchAlgorithmException, UnsupportedEncodingException{ MessageDigest md5=MessageDigest.getInstance("MD5"); BASE64Encoder base64en = new BASE64Encoder(); String newstr = base64en.encode(md5.digest(str.getBytes("utf-8"))); return newstr; }}
然后导出成jar文件,因为没有main部分所以不是runnable jar
进入hive
ADD JAR /home/twq/Desktop/md5test.jar;CREATE TEMPORARY FUNCTION mymd5 AS'myudf1.Md5Test1';
jar包的位置不是hdfs上,就是一般位置,服务器上随便何处
myudf1.Md5Test1 是包名.类名
接着把本地数据上传到hdfs上
bin/hdfs dfs -put/home/twq/MySoftware/mydt/testdt.txt /tmp/input/
hive上创建对应的表
CREATE EXTERNAL TABLE tmp_dt1(yljgdm string,jzzdbm string,jzzdsm string,zs string,zzms string)ROW FORMAT delimitedFIELDS TERMINATED BY '\t'LOCATION '/tmp/input/';
ok!
接着可以测试啦 ,show functions;的时候发现原来hive自带了这个函数,而且还和自己的md5执行结果不同,不过,能执行出来结果就好,哈哈哈哈哈哈哈
阅读全文
0 0
- md5`加密2:udf简单实现
- md5加密简单实现
- 简单实现MD5加密
- Java简单实现MD5加密
- 简单实现MD5加密字符串
- 使用MD5实现简单加密
- Md5加密的简单实现
- Java简单实现MD5加密
- Hive UDF实现函数MD5
- java中简单实现MD5加密
- java的MD5加密的简单实现
- java中简单实现MD5加密
- JAVA简单实现MD5注册登录加密
- md5`加密1:java简单实现
- MD5加密的简单java实现
- java(md5) 加密解密简单实现
- MD5加密的简单java实现
- HIVE-UDF之MD5密钥算法实现
- CENTOS7 snort 轻量级入侵检测系统安装与使用
- Unity Shader之Blending
- MongoDB--数据库管理
- [bzoj 1305&1433]最大流练习题
- Unity3d BoxCollider线框绘制工具
- md5`加密2:udf简单实现
- Hibernate事务中四种状态
- YII设置别名 'Unable to resolve the request "site/error".'
- mysql 索引类型以及创建
- SSM个人博客项目实战01
- 78_游戏项目_图片的加载
- ubuntu /var/log/下各个日志文件
- Python批量替换指定文件夹中文件内容
- Form Data vs Request Payload