spark-udf
虽然spark.sql.function
中的已经包含了大多数常用的函数,但是总有一些场景是内置函数无法满足要求的,此时就需要使用自定义函数了(UDF)。刚好最近用spark时,scala
,java
,python
轮换着用,因此这里总结一下spark中自定义函数的简单用法。
这里总结了scala
,java
,python
三种接口的DataFrame和sparkSQL的自定义函数定义和使用方法,对于比较复杂的分组自定义函数未涉及,对于这类复杂需求,应该有变通之法吧。
1、pyspark接口的UDF
1.1、在dataframe中使用
# 定义自定义函数
import numpy as np
def log_py(num):
return float(np.log(num))
# 注册自定义函数
log_udf = functions.udf(log_py, Fl