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

在Colab/Jupyter中用PySpark读取Azure Blob Storage遇类未找到错误

解决PySpark读取Azure Blob Storage时的ClassNotFoundException问题

问题根源

这个错误的核心原因是Hadoop Azure相关jar包版本与Spark依赖的Hadoop版本不兼容,或缺失必要的依赖组件,导致JVM无法找到org.apache.hadoop.fs.azure.NativeAzureFileSystem$Secure类。


解决方案步骤

1. 统一Spark与Hadoop版本兼容性

Spark的不同版本对应固定的Hadoop依赖版本,强行混用高版本Hadoop组件会引发冲突:

  • Spark 3.1.x → 对应Hadoop 3.2.x
  • Spark 3.4.x → 对应Hadoop 3.3.x/3.4.x

2. 使用spark.jars.packages自动管理依赖(推荐)

手动放置jar包容易出现版本冲突,通过Spark的包管理机制自动拉取兼容的依赖组件,是最可靠的方式。

Spark 3.1.1配置示例

from pyspark.sql import SparkSession

spark = SparkSession.builder \
    .appName("AzureBlobDataRead") \
    # 拉取与Spark 3.1.1兼容的Hadoop Azure组件
    .config("spark.jars.packages", "org.apache.hadoop:hadoop-azure:3.2.0,com.microsoft.azure:azure-storage:8.6.6") \
    # 替换为你的Azure存储账户信息
    .config("spark.hadoop.fs.azure.account.key.你的存储账户名.blob.core.windows.net", "你的存储密钥") \
    .getOrCreate()

# 读取JSON示例
df_json = spark.read.json("wasbs://你的容器名@你的存储账户名.blob.core.windows.net/目标文件路径.json")
df_json.show()

# 读取CSV示例
df_csv = spark.read.csv("wasbs://你的容器名@你的存储账户名.blob.core.windows.net/目标文件路径.csv", header=True, inferSchema=True)
df_csv.show()

Spark 3.4.0配置示例

from pyspark.sql import SparkSession

spark = SparkSession.builder \
    .appName("AzureBlobDataRead") \
    # 拉取与Spark 3.4.0兼容的Hadoop Azure组件
    .config("spark.jars.packages", "org.apache.hadoop:hadoop-azure:3.3.4,com.microsoft.azure:azure-storage:8.6.6") \
    # 替换为你的Azure存储账户信息
    .config("spark.hadoop.fs.azure.account.key.你的存储账户名.blob.core.windows.net", "你的存储密钥") \
    .getOrCreate()

# 数据读取操作
df = spark.read.json("wasbs://你的容器名@你的存储账户名.blob.core.windows.net/目标文件路径.json")
df.show()

3. 清理手动添加的冲突jar包

删除之前放在Spark jars目录中的azure-storage-8.6.6.jar、hadoop-azure-3.5.5.jar等文件,避免与spark.jars.packages拉取的兼容版本产生冲突。

4. 关键验证点

  • 确认Azure存储账户名、密钥、容器名、文件路径无拼写错误
  • 普通Blob Storage使用wasbs://协议,若为Data Lake Storage Gen2则改用abfss://协议
  • Colab/Jupyter会话重启后,需重新运行Spark初始化代码(会话重启会重置环境依赖)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 11:05:10