PySpark连接ABFS时,如何动态设置api-version参数?
使用PySpark + hadoop-azure-3.4.1通过托管身份连接ABFS时,如何覆盖硬编码的API版本?
可以通过Spark配置或编程方式直接覆盖硬编码的API版本,具体两种实现方式:
1. 配置文件/作业提交参数方式
在spark-defaults.conf中添加如下配置:
spark.hadoop.fs.azure.abfs.api.version=2021-06-01
或者提交Spark作业时通过--conf参数指定:
spark-submit --conf spark.hadoop.fs.azure.abfs.api.version=2021-06-01 your_script.py
版本号替换为你的Azure环境支持的兼容版本即可(比如2020-10-01、2021-06-01等)。
2. PySpark代码内编程设置
在初始化SparkSession前,通过SparkConf注入配置:
from pyspark.conf import SparkConf from pyspark.sql import SparkSession conf = SparkConf() conf.set("fs.azure.abfs.api.version", "2021-06-01") spark = SparkSession.builder \ .appName("ABFS-Connection") \ .config(conf=conf) \ .getOrCreate()
注意事项
- 务必选择Azure存储服务实际支持的API版本,避免再次触发版本不兼容报错;
- 该配置参数是hadoop-azure库官方提供的可覆盖项,完全适配托管身份认证场景。
内容的提问来源于stack exchange,提问作者Sergei Varaksin
相关产品推荐
相关产品推荐

