PySpark中display函数显示记录数不一致问题排查求助
问题排查方案
针对你遇到的Spark DataFrame计数为6,但整体显示仅5条记录的问题,可按以下步骤排查:
检查完全重复行:执行
df.distinct().count(),如果结果为5,说明存在1条完全重复的行。单独显示RefDocNo列时重复值会被正常展示,但部分可视化工具(如Databricks的display)可能在默认视图下合并重复行,导致看起来少了一条。排查全空值行:运行以下代码检查是否存在所有字段均为null的行:
df.filter(df.columns.map(c => col(c).isNull).reduce(_ && _)).count()如果返回1,说明有一行全为null,部分display工具会默认隐藏这类无有效数据的行。
强制打印所有行内容:用
df.collect().foreach(println)输出所有6行的原始数据,确认是否存在因特殊字符、格式异常导致可视化渲染失败的行——这类行在display中可能无法正常显示,但实际存在于DataFrame中。检查显示工具设置:若使用Databricks等平台,确认
display是否开启了行过滤、折叠功能,尝试调整显示设置(如取消自动折叠、关闭过滤规则)查看完整数据。
内容的提问来源于stack exchange,提问作者Lilac
相关产品推荐
相关产品推荐

