繁体   English   中英

Big Query 作业失败并显示“遇到错误字符 (ASCII 0)”。

[英]Big Query job fails with "Bad character (ASCII 0) encountered."

我有一份因错误而失败的工作

行:14222274 / 字段:1,遇到错误字符 (ASCII 0)。 其余文件未处理。

数据已压缩,我已验证文件中不存在 ASCII 0 字符。 文件中只有 14222273 行,因此错误消息中打印的行号是文件末尾后的一行。 我有来自同一数据集的其他块已成功上传,所以我怀疑这是 BQ 错误,或者错误消息并未指示潜在问题。 解决此问题的任何帮助将不胜感激。 谢谢。

>>> data = open("data.csv").read()
>>> chr(0) in data
False
>>> data[-1]
'\n'

我遇到了类似的问题,试图在BigQuery中加载一个压缩文件(将其保存在Google云端存储中)。 这些是日志:

File: 0 / Offset:4563403089 / Line:328480 / Field:21: Bad character (ASCII 0) encountered: field starts with:  (error code: invalid)
File: 0 / Offset:4563403089 / Line:328485 / Field:21: Bad character (ASCII 0) encountered: field starts with:  (error code: invalid)
File: 0 / Offset:4563403089 / Line:328490 / Field:21: Bad character (ASCII 0) encountered: field starts with:  (error code: invalid)
File: 0 / Offset:4563403089 / Line:328511 / Field:21: Bad character (ASCII 0) encountered: field starts with:  (error code: invalid)
File: 0 / Offset:4563403089 / Line:328517 / Field:21: Bad character (ASCII 0) encountered: field starts with:  (error code: invalid)

为了解决问题,我所做的是从压缩文件中删除ASCII 0字符。 为此,我从安装了sdk的Compute Engine实例执行了以下commnad:

gsutil cp gs://bucket_987234/compress_file.gz - | gunzip | tr -d '\000' | gsutil cp - gs://bucket_987234/uncompress_and_clean_file

通过使用管道,我避免了硬盘上的所有存储(1G压缩+ 52G解压缩)。 第一个程序从Storage获取压缩文件,第二个程序解压缩它,thrid删除ASCII 0字符,第四个程序将结果updalo到Storage。

我再次上​​传到存储时不会压缩结果,因为BigQuery可以更快地加载未压缩的文件。 之后我可以毫无问题地加载BigQuery数据。

当你压缩你使用的实用程序?

当我以ZIP格式(在Windows中)压缩我的csv文件时,我看到了这个问题。 Google BigQuery似乎只接受gzip格式。

确保使用gzip压缩CSV。 如果你在Windows 7-zip是一个很棒的实用工具,它允许你压缩gzip。

在Unix中,gzip是标准的。

遇到错误字符(ASCII 0)。 其余文件未处理。

清楚地说明你有一个无法解码的UTF-16字符。 BigQuery服务仅支持UTF-8和latin1文本编码。 因此,该文件应该是UTF-8编码的。

文件中只有14222273行,因此错误消息中打印的行号是超过文件末尾的一行。

可能你在文件的末尾有一个UTF-16编码的制表符,无法解码。


解决方案 :在gzip命令中使用-a--ascii标志。 它将被bigquery解码为ok。

我也有同样的问题。 我在尝试上传数据文件时收到此错误消息:无法创建表:读取数据时出错,错误消息:解析从位置开始的行时检测到错误:0。错误:遇到错误字符 (ASCII 0)。

我使用的是 mac book,此步骤有帮助:打开要上传到 bigquery 的数据文件。 转到文件——导出到——csv——单击“下一步”。 现在,尝试将其上传到 bigQuery。 成功!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM