pyspark:以多列作为输入的熊猫udf

时间:2019-03-26 15:39:43

标签: apache-spark pyspark

在Spark 2.3中,我试图创建标量 pandas udf (矢量化udf),以向数据框添加新列。 此udf将几列(例如25列)作为输入。

使用常规的pyspark udf,我可以通过调用以下命令将所有列传递给udf:

my_udf(struct([df[x] for x in df.columns]))

然后,我的udf可以访问具有所有列的Row对象。

但是,如果我尝试对熊猫udf做同样的事情:

pandas_udf(struct([df[x] for x in df.columns]))

我得到:

TypeError: Unsupported type in conversion from Arrow: struct<id: int64, id2: int64,[etc]>

我期望我可以一次向我的熊猫udf发送几列,并且在我的udf客户端代码中,我会收到一个熊猫数据框作为参数...这可能吗?

0 个答案:

没有答案