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

本地Jupyter读取Azure Data Lake Delta文件遇参数不存在问题求助

解决Jupyter Notebook读取ADLS中Delta文件的问题

你遇到的错误是因为deltalake库的DeltaTable构造函数并不支持file_system参数——参考的文档可能对应旧版本或其他库实现。以下是两种可行的解决方式:

方式一:纯Python环境(依赖deltalake库)

直接通过storage_options参数传递ADLS的认证配置,无需手动创建AzureBlobFileSystem实例:

from deltalake import DeltaTable

# 替换为你的容器名、Delta文件路径和凭证
delta_path = "abfss://<container-name>@devblobstorage.dfs.core.windows.net/path/delta/fileInQuestion.delta"
df_delta = DeltaTable(
    delta_path,
    storage_options={
        "account_name": "devblobstorage",
        "credential": credential  # 这里传入你的访问凭证,如SAS Token、服务主体密钥等
    }
).to_pandas()

注意:确保安装了最新版的deltalake和adlfs,可以通过pip install --upgrade deltalake adlfs更新。

方式二:使用PySpark读取(适合有Spark环境的场景)

如果你的环境已配置Spark,可通过Delta Lake的Spark连接器读取,功能更全面:

from pyspark.sql import SparkSession

# 初始化Spark Session并配置Delta扩展
spark = SparkSession.builder \
    .appName("ReadDeltaFromADLS") \
    .config("spark.sql.extensions", "io.delta.sql.DeltaSparkSessionExtension") \
    .config("spark.sql.catalog.spark_catalog", "org.apache.spark.sql.delta.catalog.DeltaCatalog") \
    .getOrCreate()

# 配置ADLS访问凭证(替换为你的租户ID、客户端ID和密钥)
spark.conf.set("fs.azure.account.auth.type.devblobstorage.dfs.core.windows.net", "OAuth")
spark.conf.set("fs.azure.account.oauth.provider.type.devblobstorage.dfs.core.windows.net", "org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider")
spark.conf.set("fs.azure.account.oauth2.client.id.devblobstorage.dfs.core.windows.net", "<your-client-id>")
spark.conf.set("fs.azure.account.oauth2.client.secret.devblobstorage.dfs.core.windows.net", "<your-client-secret>")
spark.conf.set("fs.azure.account.oauth2.client.endpoint.devblobstorage.dfs.core.windows.net", "https://login.microsoftonline.com/<your-tenant-id>/oauth2/token")

# 读取Delta文件并转为Pandas DataFrame
delta_path = "abfss://<container-name>@devblobstorage.dfs.core.windows.net/path/delta/fileInQuestion.delta"
spark_df = spark.read.format("delta").load(delta_path)
df_delta = spark_df.toPandas()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 03:10:48