You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Synapse中PySpark读Excel报spark-excel错误如何修复

问题根因

报错由Scala版本二进制不兼容导致:
你安装的spark-excel_2.11包是基于Scala 2.11编译的,但Azure Synapse当前运行的Spark集群默认搭载Scala 2.12环境,跨Scala大版本的编译包不存在二进制兼容性,运行时找不到对应Scala核心方法就会抛出你看到的NoSuchMethodError,问题和代码写法、包安装路径无关,纯粹是依赖版本选错了。

修复步骤
  • 先卸载之前安装的0.13.7版本spark-excel_2.11包,避免多版本依赖冲突。
  • 在工作区Maven依赖管理中选择适配Scala 2.12版本的spark-excel包安装,包坐标为com.crealytics:spark-excel_2.12,版本选择0.14.0及以上稳定版即可,不要选名称带_2.11后缀的包。
  • 依赖安装完成后必须重启当前Spark会话,新安装的包才会被加载生效。
  • 你原来的读取代码不需要做任何修改,会话重启后直接运行即可正常读取Excel:
df=spark.read.format("com.crealytics.spark.excel").option("header", "true").option("inferSchema", "true").load(xlContestSourcePath)

补充说明:只有当你使用已经停服的Spark 2.4旧版本运行时时,才需要选择_2.11后缀的spark-excel包,目前Synapse默认提供的所有Spark 3.x版本池均适配Scala 2.12,选_2.12后缀的包即可。

内容的提问来源于stack exchange,提问作者jacky789

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 05:15:31