【问题标题】:Error in Spark while declaring a UDF声明 UDF 时 Spark 出错
【发布时间】:2016-12-23 07:42:32
【问题描述】:

我正在尝试创建一个 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__() takes at least 2 arguments (1 given)

谁能尽快帮我解决错误?

谢谢!

【问题讨论】:

    标签: python apache-spark pyspark bigdata


    【解决方案1】:

    对于ArrayType,还需要指定数组内容的类型,例如

    def uniq_array(col_array):
        x = np.unique(col_array)
        return x
    
    uniq_array_udf = udf(uniq_array,ArrayType(IntegerType()))
    

    【讨论】:

    • 非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    相关资源
    最近更新 更多