当前位置: 首页 > 图灵资讯 > 技术篇> Impala UDF - Impala调用Hive UDF函数

Impala UDF - Impala调用Hive UDF函数

来源:图灵教育
时间:2023-05-10 17:13:08

Impala 中运行 Hive UDF

场景:部分查询需要快速返回,Impala用于快速复杂的查询

  • 1.简单的UDF函数过滤,判断是否包含“好”字,返回boolean类型
import org.apache.hadoop.hive.ql.exec.UDF;/** * @ClassName: UdfTest * @Description: TODO  * @author: Jast * @date: 2019年3月10日 上午11:30:20   */public class UdfTest  extends UDF {public boolean evaluate(String text){if(text.contains(“好”) {return true;}else {return false;}}}
  • 2.将jar包上传到HDFS
hdfs dfs -put /home/xxx/hive-udf.jar /user/hive/lib
  • 3.创建函数
create function if not exists udftest(String) returns boolean location "/user/hive/lib/hive-udf.jar" SYMBOL="com.xxx.udftest";
  • 4.检查它是否成功创建
[hostname:21000] dw_xxxx> show functions;Query: show functions+-------------+----------------------+-------------+---------------+| return type | signature            | binary type | is persistent |++++++++||||+++ BOOLEAN     | udftest(STRING)      | JAVA        | false         |+-------------+----------------------+-------------+---------------+Fetched 1 row(s) in 0.01s
  • 5.查询结果

Impala UDF  -  Impala调用Hive UDF函数_jar