Hive UDF函式使用

2021-10-07 08:54:17 字數 1222 閱讀 9589

udf函式:udf(user-defined functions)即是使用者定義的hive函式。hive自帶的函式並不能完全滿足業務需求,這時就需要我們自定義函式了

開發自定義udf函式需要繼承』org.apache.hadoop.hive.ql.exec.udf』類,並實現evaluate函式

實現sha256加密的udf函式

package com.encryption.udf;

import org.apache.commons.codec.digest.digestutils;

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

import org.apache.hadoop.io.text;

public class encryptsha256 extends udf

public text evaluate(text text) throws exception else

} public static void main(string args) throws exception

}

部署udf 函式

打包,並且將jar包複製到hdfs,比如上傳到:/user/chen/udf/encryptsha256-1.0-snapshot-jar.jar

建立臨時函式-----只對當前黑視窗有效

add jar hdfs://zjxl-nameservice/user/chen/udf/encryptsha256-1.0-snapshot-jar.jar;

create temporary function sha256udf as 'com.encryption.udf.encryptsha256';

hive中使用

hive> select sha256udf('q156eh');

刪除臨時函式

drop temporary function if exists sha256udf;
建立永久函式

create function sha256udf as 'com.encryption.udf.encryptsha256'

using jar 'hdfs://zjxl-nameservice/user/chen/udf/encryptsha256-1.0-snapshot-jar.jar';

hive UDF函式 實現時間格式轉換

需求 自定義函式udf 資料格式 27.38.5.159 31 aug 2015 00 04 37 0800 ip ip位址 datetime str 訪問時間 兩個udf 去除 欄位的雙引號 轉換日期時間格式 20150830000437 public class dateudf extends ...

hive UDF詳解 例項

udf可以直接應用於select語句,對查詢結果做格式化處理後輸出內容 操作作用於單個資料行,且產生了乙個資料行作為輸出 實現udf user defined function 需要繼承org.apache.hadoop.hive.ql.udf 需要實現evaluate函式 evaluate函式支援...

hive udf相關操作

1,在 伺服器上傳本地檔案hiveudf 1.1.1.jar到hdfs目錄 hivejar下,這個可以永久使用 hdfs dfs put opt hiveudf 0.0.1.jar hivejar2,建立udf臨時函式 add jar hdfs hiveudf hiveudf 2.5 jar wit...