当前位置:  开发笔记 > 编程语言 > 正文

大数据 java hive udf函数的示例代码(手机号码脱敏)

这篇文章主要介绍了大数据javahiveudf函数(手机号码脱敏),的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

Hive UDFHive UDF 函数1 POM 文件2.UDF 函数3 利用idea打包4 添加hive udf函数4.1 上传jar包到集群4.2 修改集群hdfs文件权限4.3 注册UDF4.4 使用UDF

Hive UDF 函数

1 POM 文件

<?xml version="1.0" encoding="UTF-8"?>

 4.0.0

 填写自己的组织名称
 udf
 1.0-SNAPSHOT
 
  UTF8
  
  2.6.0-cdh5.13.3
  1.1.0-cdh5.13.3
 

 
  
  
   Apache Hadoop
   Apache Hadoop
   https://repo1.maven.org/maven2/
  
  
  
   cloudera
   cloudera
   https://repository.cloudera.com/artifactory/cloudera-repos/
  
 

 
  
  
   org.apache.hadoop
   hadoop-common
   ${hadoop.version}
  
  
  
   org.apache.hive
   hive-exec
   ${hive.version}
  
 

 
  
   
    org.apache.maven.plugins
    maven-compiler-plugin
    
     1.8
     1.8
    
   
   
    maven-assembly-plugin
    
     
     
      
       
      
     
     
      jar-with-dependencies
     
    
    
     
      make-assembly
      package
      
       single
      
     
    
   
  
 

2.UDF 函数

package 填写自己的组织名称;

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

// 上传udf jar到集群 hdfs dfs -put udf-1.0-SNAPSHOT-jar-with-dependencies.jar /data/data_coe/data_asset/prod/db/tmp/udf/
// 修改文件权限 hdfs dfs -chmod -R 777 hdfs://idc-nn/data/data_coe/data_asset/prod/db/tmp/udf/
//注册udf函数 create function tmp.pul as '填写自己的组织名称.PhoneUnlookUdf' using jar 'hdfs://idc-nn/data/data_coe/data_asset/prod/db/tmp/udf/udf-1.0-SNAPSHOT-jar-with-dependencies.jar

public class PhoneUnlookUdf extends UDF {
//重写evaluate方法
 public String evaluate(String phone){
  if (phone.length() == 11){
   String res = phone.substring(0, 3) + "****" + phone.substring(7, phone.length());
   System.out.println(res);
   return res;
  } else {
   return phone;
  }

 }
}

3 利用idea打包

先点clean,在点package

idea打包

4 添加hive udf函数

集群的某些问题,不能直接通过添加服务器上本地文件到hive增加udf;需要将文件上传到hdfs,然后定义udf函数。

4.1 上传jar包到集群

// 上传udf jar到集群 hdfs dfs -put udf-1.0-SNAPSHOT-jar-with-dependencies.jar /data/data_coe/data_asset/prod/db/tmp/udf/

4.2 修改集群hdfs文件权限

// 修改文件权限 hdfs dfs -chmod -R 777 hdfs://idc-nn/data/data_coe/data_asset/prod/db/tmp/udf/

4.3 注册UDF

 //注册udf函数 create function tmp.pul as 'cn.mcd.com.PhoneUnlookUdf' using jar 'hdfs://idc-nn/data/data_coe/data_asset/prod/db/tmp/udf/udf-1.0-SNAPSHOT-jar-with-dependencies.jar

4.4 使用UDF

···
打开集群hive客户端:
select tmp.pul(phone) from tmp.tmp_order limit 3;
···

总结

到此这篇关于大数据 java hive udf函数(手机号码脱敏)的文章就介绍到这了,更多相关大数据hive udf函数内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有