csv - BigQuery 错误从云存储传输 csv
问题描述
我正在尝试在 bigquery 中创建一个表,从谷歌存储中传输一个 csv。这个 csv 有 3000 万行,我得到了这些错误,例如:
“读取数据时出错,错误消息:从位置开始的行中的值过多:254333656。找到 4 列,而预期为 3”
“读取数据时出错,错误消息:从位置开始的行中的值过多:254312106。找到 4 列,而预期为 3。”
这很尴尬,我的 csv 中没有所有这些行。它在第 2.5 亿行发现了一个错误。这怎么可能??
谢谢
解决方案
该错误表明position
254333656 存在问题,而不是row
.
这意味着错误位于距离文件开头 254333656 个字符处(这使得调试非常困难)。
为了解决您的问题,您可以:
检查您的标题是否确实有 4 列(BQ 似乎期望 3 列,但您说您期望 4 列)
也许在您的 bq 加载语句中尝试使用标志 --allow_jagged_row=true 。
推荐阅读
- actions-on-google - 谷歌模拟器上的谷歌智能家居操作不起作用
- python - 替换csv文件python中的整列
- selectize.js - selectize.js 避免自动排序选项
- embedded-linux - Yocto 最小 eSDK - world-pkgdata
- microsoft-graph-api - 即使 $top=1,Microsoft Graph 也会显示 @nextlink?
- java - 这个列表会被垃圾收集吗?
- c# - 如何检查列表是否包含项目
- android - 如何以编程方式访问预加载的字体
- c# - ChromiumFX 即时修改响应标头
- python - 使用 matplotlib 图例中的格式进行文本对齐