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

Databricks读取S3中CSV文件时被误识别为Delta文件的问题求助

解决Databricks中S3 CSV被误识别为Delta文件的问题

问题根源

你要读取的S3路径https://testbucket1409.s3.eu-north-1.amazonaws.com/ManifestData.csv下存在Delta表专属的_delta_log文件夹,Spark读取时会自动扫描该日志目录,判定这个路径是Delta表,因此不允许用CSV格式读取。

可行解决方案

1. 精准指向单个CSV文件

如果你的目标是读取Manifest.csv,确保读取路径精确到具体文件名,不要指向包含_delta_log的文件夹:

from pyspark.sql import SparkSession

spark = SparkSession.builder.appName("S3DataAccess").getOrCreate()
# 路径直接指向CSV文件,而非包含Delta日志的目录
s3_url = "https://testbucket1409.s3.eu-north-1.amazonaws.com/Manifest.csv"
df = spark.read.csv(s3_url, header=True, inferSchema=True)

注意:报错里提到的路径是ManifestData.csv,请核对代码中的路径是否和实际文件一致,别误指向带Delta日志的文件夹。

2. 强制指定格式并关闭自动检测

如果需要读取整个目录下的CSV文件,但目录里残留了_delta_log,可以强制指定读取格式为CSV,同时关闭Spark的自动格式推断:

df = spark.read.format("csv") \
    .option("header", "true") \
    .option("inferSchema", "true") \
    .option("spark.sql.streaming.schemaInference", "false") \
    .load("https://testbucket1409.s3.eu-north-1.amazonaws.com/ManifestData.csv")

3. 删除残留的Delta日志文件夹

如果这个S3路径不需要保留Delta表相关内容,直接删除ManifestData.csv目录下的_delta_log文件夹,之后就能正常用CSV格式读取数据了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 19:55:29