歡迎您光臨本站 註冊首頁

大數據 java hive udf函數的示例代碼(手機號碼脫敏)

←手機掃碼閱讀     hongdian2012 @ 2020-06-21 , reply:0

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 文件

  4.0.0填寫自己的組織名稱udf1.0-SNAPSHOTUTF82.6.0-cdh5.13.31.1.0-cdh5.13.3Apache HadoopApache Hadoophttps://repo1.maven.org/maven2/clouderaclouderahttps://repository.cloudera.com/artifactory/cloudera-repos/org.apache.hadoophadoop-common${hadoop.version}org.apache.hivehive-exec${hive.version}org.apache.maven.pluginsmaven-compiler-plugin1.81.8maven-assembly-plugin       -->        -->         填寫自己的組織名稱.PhoneUnlookUdf-->        -->       -->jar-with-dependenciesmake-assemblypackagesingle

 

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;
 ・・・

           

   


[hongdian2012 ] 大數據 java hive udf函數的示例代碼(手機號碼脫敏)已經有258次圍觀

http://coctec.com/docs/java/show-post-239345.html