关于hive,spark,pyspark 使用UDF的一些理解(总结)

本文介绍了在hive, spark和pyspark中使用用户定义函数(UDF)的不同方法,包括在hive中使用java和scala编写UDF,在spark中注册UDF的推荐方式,在pyspark中使用python UDF、pandas UDF以及通过jar包注册UDF的优缺点。" 120808285,11537307,图的连通性:割点、桥、欧拉路径与强连通分量,"['图论算法', '数据结构', '图的遍历']
摘要由CSDN通过智能技术生成

使用方式

1.在hive中使用udf
1.1使用java代码编写udf
一句话总结:继承UDF类,重写evaluate()方法。
打成jar包之后,要么注册成hive的临时函数,要么注册为永久函数。
hive注册临时函数
	hive>add jar /xxx/xxx/your_udf.jar;
	hive>CREATE TEMPORARY FUNCTION func_name AS 'com.xxx.xxxx.MyUDF';
	hive>list jars;//查看添加好的jar包;
	hive>show functions like ’func_*‘; //查看函数
hive注册永久函数
	hive>CREATE FUNCTION [db_name].func_name AS 'com.xxx.xxx.MyUDF' USING JAR 'hdfs://hadoop002:9000/xxx/xxx.jar'; //使用时要注意库的位置,非当前库操作需要加上库名方可使用
1.2使用scala代码编写udf
实验过,没创建成功,不能给hive用,也没人这么做,SB了,估计scala写的extend UDF1只能在scala编码使用
2.在spark中使用udf
2.1在spark中注册udf(推荐)

核心代码(spark2.x以上版本)

spark.udf.register("str_len", (str: String) => str.length())
spark.
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值