连接Spark DataFram的ArrayType列时出现问题

2024-10-03 02:41:24 发布

您现在位置:Python中文网/ 问答频道 /正文

当我试图连接Spark数据帧的3个ArrayType列时,我在某些行中得到了错误的输出。你知道吗

因为,有些数据帧没有值,所以当它们组合在一起时,输出为[walmart,[]](例如)。我不希望输出显示那些空值。 例如,Dataframe的列名为concat\u values和values是:-你知道吗

[walmart, supercenter, walmart supercenter, [walmartsupercenter]]  
[walmart, []]  
[mobil, []] 
[[]]      
[dollar general]  
[marriott vacations, vacations worldwide, marriott vacations worldwide]

输出应为

[walmart, supercenter, walmart supercenter, [walmartsupercenter]]  
[walmart]  
[mobil] 
[]      
[dollar general]  
[marriott vacations, vacations worldwide, marriott vacations worldwide]

我在代码中实现的自定义项是:-

from pyspark.sql.functions import col, udf
from pyspark.sql.types import ArrayType, StringType
from pyspark.sql import functions as F

concat_string_arrays = F.udf(lambda w,x,y,z : w+x+y+z,ArrayType(StringType()))

请帮帮我。谢谢


Tags: 数据fromimportsqlworldwidepysparkvalueswalmart