【发布时间】:2021-06-10 12:55:33
【问题描述】:
我正在尝试在 bigquery 中创建一个表,从谷歌存储中传输一个 csv。这个 csv 有 3000 万行,我得到了这些错误,例如:
“读取数据时出错,错误消息:从位置 254333656 开始的行中的值过多。找到 4 列,而预期为 3”
“读取数据时出错,错误消息:从位置 254312106 开始的行中的值过多。找到 4 列,而预期为 3。”
这很尴尬,我的 csv 中没有所有这些行。它在第 2.5 亿行发现了一个错误。怎么可能?
谢谢
【问题讨论】:
-
您能否检查一下 csv 文件是否为 UTF-8 格式,或者您能否提供有关加载过程的更多详细信息?
-
是的,文件是 UTF-8。这是我从中下载 csv 文件 zenodo.org/record/2539424 的 lin,它是“itwiki.wikilink_graph.2018-03-01.csv.gz”文件。我无法在 libreoffice 上的笔记本电脑上打开它,我只是用文本编辑器扫描了一下。它有四列,描述维基百科页面和每个页面的链接。您是否认为问题可能是某些单元格包含引号?我真的真的不知道可能是哪个问题
-
是的,引号可能是个问题。顺便说一句,我认为您提到的位置编号 - 不是行号,而是文件开头的字符(或字节)编号。
-
您无法打开文件,但您可以在 linux 上执行 head(例如在 Cloud Shell 上)。您可以粘贴第 3 行(head -3
)向我们展示结构吗?此外,您在 BigQuery 中提取 csv 文件所执行的确切命令(或配置)?
标签: csv google-cloud-platform google-bigquery