python - 连接 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()))
请帮我解决一下这个。谢谢
解决方案
推荐阅读
- python - 将现有字典的值设置为全零
- git - 如何删除尚未推送到 git 的已提交项目?
- c# - 获取用户输入后控制台挂在换行符上
- ios - Nativescript Greensock 问题 - 未找到模块:错误:无法解析“TweenLite”
- python - 如何将值从 Pyqt5 GUI 传递给多个进程
- android - 是否可以为 Flutter 的可访问性焦点系统强制平滑隐式滚动?
- c# - 带有命令的 FTP 到大型机数据集
- c# - XDocument xml 已解析,但未能保存属性。xml.linq
- c - 尝试做一些 c 编程作业,需要一些指导
- sql - SQL Server:JSON 审计