将CSV文件上传至BigQuery时遇400错误,求解决方案
BigQuery CSV上传400错误排查方案
错误本质
这个400错误表明BigQuery在读取CSV文件初期就触发了100条解析失败,直接终止任务,问题几乎都集中在CSV格式与BigQuery配置/表结构不兼容上。
必查项
- 分隔符不匹配:
确认BigQuery上传配置的分隔符(默认逗号)和CSV实际使用的分隔符一致。如果CSV用制表符、分号等,必须手动指定;若字段内容包含分隔符(比如地址里的逗号),需要确保该字段用双引号包裹,且BigQuery开启了“允许带引号的字段”选项。 - 表头与表结构不兼容:
- 表头列数和目标表字段数必须完全一致;
- 字段类型要匹配:比如CSV里是带小数的字符串,不能对应BigQuery的
INT64类型;日期字段要符合YYYY-MM-DD或YYYY-MM-DD HH:MM:SS格式,否则需手动指定日期解析格式; - 若未开启“自动检测”,表头字段名必须和表字段名完全对应(大小写敏感)。
- 编码与特殊字符问题:
- CSV必须是UTF-8编码,GBK/GB2312等编码会导致字符解析失败;
- 字段内的双引号必须转义为两个双引号(
""),不能直接用单个双引号; - 字段内部不能有未包裹的换行符,否则会被当成新行解析。
- 空值处理:
如果CSV用NULL字符串表示空值,需在上传配置中勾选“将'NULL'字符串视为空值”;若用空单元格,确保BigQuery的字段允许空值。 - 文件完整性:
检查CSV文件是否完整(比如下载中断导致文件截断),可以用文本编辑器打开查看末尾是否正常。
快速定位技巧
- 截取CSV前10行生成测试文件,上传测试,缩小问题范围;
- 使用BigQuery的“预览数据”功能,直接查看具体的错误明细(比如哪一行哪个字段解析失败);
- 临时开启BigQuery的“允许字段不匹配”选项测试,看是否能上传成功,再反向排查字段问题。
内容的提问来源于stack exchange,提问作者radwane
相关产品推荐
相关产品推荐

