错误代码:在 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 加载作业在 JSON 中的布尔数据类型字段上失败
在 BigQuery 上加载 Google App Engine 备份时出错