我正在尝试创建一个 udf,它在列中获取一个值(数组)并返回一个仅包含唯一元素的数组。请在 Spark (version-1.6.1) 中查看以下代码:
def uniq_array(col_array):
x = np.unique(col_array)
return x
uniq_array_udf = udf(uniq_array,ArrayType())
但是,我不断遇到错误:
TypeError:__init__() 需要至少 2 个参数(给定 1 个)
谁能尽快帮我解决这个错误?
谢谢!
最佳答案
对于ArrayType,还需要指定数组内容的类型,eg
def uniq_array(col_array):
x = np.unique(col_array)
return x
uniq_array_udf = udf(uniq_array,ArrayType(IntegerType()))
关于python - 声明 UDF 时 Spark 出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38983244/