首页 > 解决方案 > 连接 Spark DataFrame 的 ArrayType 列时出现问题

问题描述

当我尝试连接 Spark DataFrame 的 3 个 ArrayType 列时,我在某些行中得到错误的输出。

由于某些 DataFrame 没有值,因此当它们组合时 - 输出为 [walmart, []] (例如)。我不希望输出显示那些空值。例如,Dataframe 的列名称为concat_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]

我在代码中实现的 UDF 是:-

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()))

请帮我解决一下这个。谢谢

标签: pythonapache-sparkpysparkconcatenation

解决方案


推荐阅读