外部表和加载表时遇到 Bigquery 错误 (ASCII 0)

CCC*_*CCC 5 google-bigquery

我收到此错误
“错误:解析从位置 4824 开始的行时检测到错误。错误:遇到错误字符 (ASCII 0)。”

数据未压缩。我的外部表指向多个 CSV 文件,其中一个包含几行带有该字符的行。在我的表定义中,我添加了“MaxBadRecords”,但这没有效果。在常规表中加载数据时我也遇到同样的问题。

我知道我可以使用 DataFlow 甚至尝试修复 CSV,但是有没有一种替代方案不包括编写解析器,并且希望同样简单高效?

Mik*_*ant 6

有没有一种替代方案不包括编写解析器,并且希望同样简单高效?

在 Google Cloud SDK Shell 中尝试以下操作(使用tr实用程序)

gsutil cp gs://bucket/badfile.csv - | tr -d '\000' | gsutil cp - gs://bucket/fixedfile.csv   
Run Code Online (Sandbox Code Playgroud)

这会

  1. 读取你的“坏”文件
  2. 删除 ASCII 0
  3. 将“固定”文件保存到新文件中

有了新文件后 - 只需确保您的表现在指向该固定文件