Azure Databricks中PySpark DataFrame部分API执行报错求助
PySpark DataFrame在Azure Databricks中执行distinct/collect/show报错排查与解决
环境配置
- Azure Databricks 14.3 LTS集群
- Apache Spark 3.5.0、Scala 2.12
- pandas 1.5.3、pyspark 3.3.0
问题表现
- 目标PySpark DataFrame可正常执行
.display()和.count()操作 - 执行以下操作时均抛出
SparkException:df.select("PB_countProducts").distinct().count()df.collect()df.show()
- 手动构建与原DataFrame结构、数据类型完全一致的模拟DataFrame
df_fake,所有上述API均可正常运行,原DataFrame报错情况未改善
解决验证结论
经过调试,问题已解决,定位出两个可能的触发原因:
- 第三方包版本冲突:代码开头安装的多包存在版本冲突,干扰了Spark核心执行流程
- 特殊数据列影响:原DataFrame包含存储字典类型数据的列,删除该列后,报错问题得到缓解
内容的提问来源于stack exchange,提问作者Diego Rodrigues
相关产品推荐
相关产品推荐

