如何在将数据加载到BigQuery时识别错误

时间:2014-02-28 18:21:06

标签: bigdata google-bigquery

在向BigQuery导入~4 GB行~~ 4千万行时,我收到以下错误消息:

Errors:
File: 0 / Offset:4026531933 / Line:604836 / Field:39, Value cannot be converted to expected type.

我的问题:我如何使用上面错误信息中的偏移/线路信息来确定违规记录的行号?

1 个答案:

答案 0 :(得分:3)

对于大型文件,BigQuery将它们分成大块并并行加载它们。这意味着BigQuery不知道在特定部分之前有多少行,因为该文件被字节范围分块。提到的偏移量是从文件开头开始的块,以字节为单位。所以错误应该在4026531933字节后的604836行。

您可以使用以下命令在Unix上隔离带有错误值的行:

tail -c +4026531933 <input file> | head -n $((604836 + 1)) | tail -1

或者使用sed:

tail -c + | sed -n $((+ 1))p