首页 > 解决方案 > BigQuery 错误从云存储传输 csv

问题描述

我正在尝试在 bigquery 中创建一个表,从谷歌存储中传输一个 csv。这个 csv 有 3000 万行,我得到了这些错误,例如:

“读取数据时出错,错误消息:从位置开始的行中的值过多:254333656。找到 4 列,而预期为 3”

“读取数据时出错,错误消息:从位置开始的行中的值过多:254312106。找到 4 列,而预期为 3。”

这很尴尬,我的 csv 中没有所有这些行。它在第 2.5 亿行发现了一个错误。这怎么可能??

谢谢

标签: csvgoogle-cloud-platformgoogle-bigquery

解决方案


该错误表明position254333656 存在问题,而不是row.

这意味着错误位于距离文件开头 254333656 个字符处(这使得调试非常困难)。

为了解决您的问题,您可以:

  • 检查您的标题是否确实有 4 列(BQ 似乎期望 3 列,但您说您期望 4 列)

  • 也许在您的 bq 加载语句中尝试使用标志 --allow_jagged_row=true 。


推荐阅读