我知道如何编写自定义函数,它可以在pyspark中一次应用于所有列。以下是步骤:1)在pyspark中,我使用explode函数更改数据结构,例如,如果我有10列,我将其更改为两列,一列表示列名称,第二列表示实际列值,分解后,它将变为10*100=1000行2列2),然后我应用分组的pandas udf(按包含列名的column1分组),在这里我实现了我的自定义逻辑,例如,我将一个包含两列的dataframe传递给pandas udf,然后在pandas udf中,我基于最初的两列创建四到五列,然后我对最后的列求和并返回一个数值。
我试图在scala中找到类似的选项,虽然我可以使用udaf/aggregator,但后来我意识到它的工作方式不同,我不能在udaf中创建列,这是我的核心需求之一。
暂无答案!
目前还没有任何答案,快来回答吧!