2016-08-16 3 views
3

udfを作成しようとしていますが、udfは列内の値(配列)をとり、一意の要素のみを含む配列を返します。スパークで以下のコード(バージョン1.6.1)を参照してください:UDFを宣言しているときにSparkでエラーが発生しました

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)

誰も私はできるだけ早くエラーを解決する助けてください?

ありがとうございます! ArrayTypeについては

答えて

4

、配列の内容のタイプも指定する必要があり、例えば

def uniq_array(col_array): 
    x = np.unique(col_array) 
    return x 

uniq_array_udf = udf(uniq_array,ArrayType(IntegerType())) 
+0

はありがとうございました! – Preyas

関連する問題