首页 > 解决方案 > pyspark 从哪里导入 unpackArray?

问题描述

我正在 edx 上学习UCSanDiegoX: DSE230x课程。在关于用户定义函数的部分中,使用了此代码:

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。我需要导入它吗?

标签: pysparkpyspark-sql

解决方案


我也在上同样的课程。packArray() 和 unpackArray() 是用户定义的函数,已在 lib/numpy_pack.py 文件中定义。

packArray() 用于将 numpy 数组打包到 bytearray 中,以存储为 spark 数据帧中的单个字段。unpackArray() 是相反的操作。


推荐阅读