我正在做课程 UCSanDiegoX: DSE230x 在edx上。在关于用户定义函数的部分使用了这段代码。
def count_nan(V):
A = unpackArray(V, data_type=np.float16)
return int(sum(np.isnan(A)))
Count_nan_udf = udf(count_nan, IntegerType())
虽然他们没有解释这些函数从哪里来, 也没有解释如何将它们导入到命名空间.
我在这里找到了udf。
from pyspark.sql.functions import udf
然后... IntegerType
:
from pyspark.sql.types import IntegerType
虽然我不觉得 unpackArray
. 我需要导入它吗?
我也在学习同样的课程。packArray()和unpackArray()是用户定义的函数,在libnumpy_pack.py文件中已经定义了。
packArray()用于将一个numpy数组打包成一个字节数组,以便在spark数据框架中以单个字段的形式存储,unpackArray()是反向操作。