hive自定義函式

2021-07-29 07:59:08 字數 1114 閱讀 1739

1.建立類,繼承udf

package com.hivedemo.udf;

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

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

/*** 自定義hive函式

*/@description(name = "myadd",

value = "myadd(int a , int b) ==> return a + b ",

extended = "example:\n"

+ " myadd(1,1) ==> 2 \n"

+ " myadd(1,2,3) ==> 6;")

public class addudf extends udf

public int evaluate(int a ,int b , int c)

}2.打成jar包。

cmd>cd

cmd>jar cvf hivedemo.jar -c x/x/x/x/classes/ .

3.新增jar包到hive的類路徑

//新增jar到類路徑

$>cp /mnt/hgfs/downloads/bigdata/data/hivedemo.jar /soft/hive/lib

3.重進入hive

$>....

4.建立臨時函式

//create temporary function myadd as 'com.it18zhang.hivedemo.udf.addudf';

2)匯出jar包,通過命令新增到hive的類路徑(不需要重進hive)。

$hive>add jar /mnt/hgfs/downloads/bigdata/data/hivedemo-1.0-snapshot.jar

3)註冊函式

$hive>create temporary function to_char as 'com.it18zhang.hivedemo.udf.tocharudf';

$hive>create temporary function to_date as 'com.it18zhang.hivedemo.udf.todateudf';

Hive 自定義函式

返回 所有自帶的函式 show functions 返回對該函式的解釋 desc function spilt 返回對該函式的使用例子 desc function extended split1.udf user defined function datediff,date format 等函式 一...

Hive 自定義函式

hive 支援自定義udf,udtf,udaf函式 以自定義udf為例 使用乙個名為evaluate的方法 package com.hive.custom import org.apache.hadoop.hive.ql.exec.udf import org.apache.hadoop.io.in...

HIVE自定義函式型別

package udf.udfs class import org.apache.commons.lang.stringutils import org.apache.hadoop.hive.ql.exec.udf import org.apache.hadoop.io.text public cl...