sparksql on hive 自定義函式
阿新 • • 發佈:2021-04-05
編寫自定義函式程式碼
pom座標
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-hive_2.11</artifactId>
<version>2.1.3</version>
</dependency>
程式碼
import org.apache.hadoop.hive.ql.exec.UDF; /** * 自定義函式 */ public class MyFunc extends UDF { public String evaluate(String value) {//函式計算邏輯 return value + "傳入"; } }
編寫好之後打包上傳到伺服器中
進入spark-sql操作介面 忽略出現的幾個警告
使用臨時方式註冊方法
新增jar到當前環境中
add jar /home/tools/project/data/udf.jar
建立臨時方法
create temporary function func as "com.MyFunc"
使用臨時方法進行資料查詢
select func(group1) from data_table limit 5;
刪除臨時方法
drop temporary function if exists func;
關鍵操作程式碼
add jar /home/tools/project/data/udf.jar create temporary function func as "com.MyFunc" select func(group1) from data_table limit 5; drop temporary function if exists func
建立永久方法
create function func as 'com.MyFunc' using jar '/home/tools/jar/udf.jar';