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

在Databricks中用PySpark读取Excel文件报错及安装问题求助

解决Spark Excel数据源找不到及pip安装失败的问题

问题根源

你用pip install com.crealytics:spark-excel_2.12:0.13.1失败,是因为这个格式是Spark的Maven依赖坐标,不是PyPI上的Python包格式,pip无法识别这种格式。而Failed to find data source: com.crealytics.spark.excel是因为Spark没有加载到处理Excel的依赖包。

解决方法

1. 本地/单机PySpark环境

  • 启动时指定依赖
    直接在启动pyspark的命令里通过--packages参数加载依赖:
    pyspark --packages com.crealytics:spark-excel_2.12:0.13.1
    
  • 代码中配置依赖
    在初始化SparkSession时添加依赖配置:
    from pyspark.sql import SparkSession
    
    spark = SparkSession.builder \
        .appName("ExcelProcessing") \
        .config("spark.jars.packages", "com.crealytics:spark-excel_2.12:0.13.1") \
        .getOrCreate()
    

2. 集群环境(考虑权限限制)

如果没有权限直接通过--packages拉取依赖,可以用以下方式:

  • 手动上传Jar包
    先下载对应版本的spark-excelJar包(注意匹配你的Spark使用的Scala版本,比如_2.12对应Scala 2.12),上传到集群所有节点的Spark jars目录(如$SPARK_HOME/jars),或者上传到HDFS公共路径。然后提交作业时指定Jar包:
    spark-submit --jars /path/to/spark-excel_2.12-0.13.1.jar your_spark_script.py
    
  • 集群全局配置(需管理员权限)
    如果有集群管理员权限,可以修改spark-defaults.conf文件,添加:
    spark.jars.packages com.crealytics:spark-excel_2.12:0.13.1
    
    这样所有Spark作业都会自动加载该依赖。

注意事项

  • 确保spark-excel的版本和你的Spark版本兼容,比如0.13.x版本适配Spark 3.x,Scala 2.12;如果是Spark 2.x,需要对应Scala 2.11的版本(如com.crealytics:spark-excel_2.11:0.12.3)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 16:43:26