错误代码:在 BigQuery 上加载数据时无效

Posted

技术标签:

【中文标题】错误代码:在 BigQuery 上加载数据时无效【英文标题】:Error code: Inavlid in Loading Data on BigQuery 【发布时间】:2016-11-09 13:00:24 【问题描述】:

我有一个大的 CSV 文件(近 10,000 行),我正在尝试将它上传到 BigQuery,但它给了我这个错误:

ile-00000000:CSV 表引用列位置 8,但从位置:622 开始的行仅包含 8 列。 (错误代码:无效)

谁能告诉我一个可能的理由吗?我已经仔细检查了我的架构,它看起来没问题。

谢谢

【问题讨论】:

尝试一个示例,看看是否适用于 5 行。如果这有效并且整个数据集无效,那么在某处你有一条折线。让我知道 5 行的效果如何? 我也有同样的问题,有什么解决办法吗?因为 BigQuery 在某些情况下会随机播放行(我猜想),所以它可以从 GSC 读取 LIMIT 10 行。但在大多数情况下,它会给出这个错误。我的 CSV 文件有双引号 整个 字段,但这应该不是问题。 它看起来也不像是一条折线。我检查了控制字符。 猫 myfile.csv | grep '[[:cntrl:]]' - 不返回任何内容 鉴于您涉及双引号,我敢打赌转义双引号出现问题,导致包含双引号的字符串导致行数据拆分,或类似的东西。您是否对文件进行了任何检查以确保其正常架构? 【参考方案1】:

尝试将 csv 中的大型数据集导入 BigQuery 表时,我遇到了同样的问题。

问题原来是写入 csv 的数据中的一些 ascii 控制字符(\b、\t、\r、\n)。当 csv 被发送到 BigQuery 时,这些字符会导致 BiqQuery csv 解析器误解该行并中断,因为数据与标题中的列数不匹配。

用空格替换这些字符(以尽可能保留格式)使我可以导入数据而不会出现其他问题。

【讨论】:

你在加载jobconfig之前更换了吗?有没有类似的选项【参考方案2】:

错误消息表明加载作业失败,因为至少有一行的列数少于自动检测到的架构规定的列数。

添加

allow_jagged_rows=true

在选项中。

【讨论】:

以上是关于错误代码:在 BigQuery 上加载数据时无效的主要内容,如果未能解决你的问题,请参考以下文章

BigQuery 加载作业 [无效] 遇到太多错误

BigQuery 加载作业在 JSON 中的布尔数据类型字段上失败

在 BigQuery 上加载 Google App Engine 备份时出错

使用 UI 将 JSON 加载到 Bigquery 时出错

如何在 BigQuery UI 中安排查询时修复“请求包含无效参数”错误

Bigquery 数据未上传