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

Azure Databricks中无法从CSV创建表的问题求助

解决Azure Databricks中CSV无法推断Schema的问题

先排查基础问题

  • 验证文件路径:执行dbutils.fs.ls("/mnt/datalake/data/"),确认Customer.csv存在,路径拼写(含大小写)完全正确。
  • 检查文件有效性:用dbutils.fs.head("/mnt/datalake/data/Customer.csv")查看文件内容,确保文件非空且数据格式正常(无乱码、格式错乱)。
  • 确认权限:确保集群对挂载的存储路径有读取权限,比如挂载时的SAS令牌或服务主体权限配置无误。

核心解决:手动指定Schema

自动推断失效时,直接在CREATE TABLE语句中明确定义Schema,移除inferSchema "True"参数:

drop table if exists customer;
create table customer (
  customer_id int,
  customer_name string,
  email string,
  registration_date date,
  phone string
)
using csv 
options ( 
  path "/mnt/datalake/data/Customer.csv", 
  header "True", 
  mode "FAILFAST"
);

提示:需根据你的CSV实际表头字段和对应数据类型修改上述Schema定义,字段名要和CSV表头完全匹配。

辅助调试方法

  • 先通过DataFrame验证:用Python代码先加载CSV,确认数据可正常解析:
df = spark.read.csv("/mnt/datalake/data/Customer.csv", header=True, inferSchema=True)
df.printSchema()
df.show(5)

如果这段代码能输出Schema和数据,就用输出的Schema来创建表;如果同样报错,说明CSV文件本身存在格式问题,需要修复文件。

  • 临时调整容错模式:将mode "FAILFAST"改为mode "PERMISSIVE",允许跳过错误行,排查是否是部分数据行格式异常导致推断失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 03:01:01