Types pyspark udf:如何注册已知类型?

Types pyspark udf:如何注册已知类型?,types,pyspark,user-defined-functions,Types,Pyspark,User Defined Functions,我有一个spark dataframe列,它包含一个复杂的数据结构(基本上是数组和结构的分层混合)。 现在我想构建一个udf映射器函数,它逐行获取一个实例,并返回一个相同类型结构的实例。 我必须注册udf的类型。是否有任何方法可以引用已知列的类型结构,或者告诉函数它返回其输入类型? 谢谢你的帮助 我想这样使用我的udf。修改后的列应该包含相同类型的项 mydata.select(col("items"), myudf("items")) 为此,我创建了一个python函数,pythonical

我有一个spark dataframe列,它包含一个复杂的数据结构(基本上是数组和结构的分层混合)。 现在我想构建一个udf映射器函数,它逐行获取一个实例,并返回一个相同类型结构的实例。 我必须注册udf的类型。是否有任何方法可以引用已知列的类型结构,或者告诉函数它返回其输入类型? 谢谢你的帮助

我想这样使用我的udf。修改后的列应该包含相同类型的项

mydata.select(col("items"), myudf("items"))
为此,我创建了一个python函数,pythonically不关心类型。但尽管如此,它还是需要用某种类型注册它

def f(item):
    return newitem

myudf = pyspark.sql.functions.udf(f, item.type)

该类型实际上是一个复杂的数组结构,不需要手动处理。我正在寻找一种快速获取类型的方法,将其写入变量,并将其用作udf注册中的参数。

能否添加一些代码,以便我们给出更具体的答案?好的,完成。希望,现在更清楚一点。你能添加一些代码以便我们给出更具体的答案吗?好的,完成。希望,现在更清楚一点。