【发布时间】:2017-12-11 10:56:34
【问题描述】:
我有一个dataframe,我对它应用了一个函数。这个函数返回一个numpy array,代码如下:
create_vector_udf = udf(create_vector, ArrayType(FloatType()))
dataframe = dataframe.withColumn('vector', create_vector_udf('text'))
dmoz_spark_df.select('lang','url','vector').show(20)
现在spark似乎对此并不满意,不接受ArrayType(FloatType())
我收到以下错误消息:
net.razorvine.pickle.PickleException: expected zero arguments for construction of ClassDict (for numpy.core.multiarray._reconstruct)
我可以只使用numpyarray.tolist() 并返回它的列表版本,但显然如果我想将它与numpy 一起使用,我总是必须重新创建array。
那么有没有办法将numpy array 存储在dataframe column 中?
【问题讨论】:
标签: numpy pyspark spark-dataframe