Bq load 分析从位置1830577开始的行时检测到错误。错误:关闭双引号(";)和字段分隔符之间的数据

Bq load 分析从位置1830577开始的行时检测到错误。错误:关闭双引号(";)和字段分隔符之间的数据,bq-load,Bq Load,我正在尝试将一个表从Teradata加载到BQ。我的管道是首先将表数据导出到gcs位置,然后使用bqload,将数据从gs://加载到bq表 我的行李看起来像这样 bq load --autodetect --source_format=CSV --project_id=xx-xx-xx --field_delimiter='^' \ BQTable \ gs:// \ Name:string,Age:INT64,Place:NUMERIC ... 但是当我尝试使用bq load将数据加载到b

我正在尝试将一个表从Teradata加载到BQ。我的管道是首先将表数据导出到gcs位置,然后使用bqload,将数据从gs://加载到bq表

我的行李看起来像这样

bq load --autodetect --source_format=CSV --project_id=xx-xx-xx --field_delimiter='^' \
BQTable \
gs:// \
Name:string,Age:INT64,Place:NUMERIC ...
但是当我尝试使用bq load将数据加载到bq表时,我得到了以下错误

Error detected while parsing row starting at position: 1830577. Error: Data between
close double quote (") and field separator.
我尝试在bqload命令中使用两个选项,比如--quote=“”,当我使用它时,它给了我一个不同的错误,如下所示

Could not parse 'MP' as NUMERIC for field XXXXXX (position 18) starting at
location 1030399 with message 'Invalid NUMERIC value: MP'

很长一段时间以来,我一直在考虑其他选择,但没有任何结果。有人能给我们一些启发吗?

不确定这个问题是否仍然有效,但它可能会对将来的人有所帮助

看起来有些数据在双引号中被错误地关闭(例如,
123,“some”数据,456
)。 这可能是由转义特殊字符引起的-请参阅此处有关双引号数据的更多信息: 在这里:

请注意,默认情况下,NULL值也会用“”进行转义 这可能会导致一些额外的问题,例如: e、 g.
123,“空”,引号中的一些文本值“,456
然后“NULL”将被解释为字符串值,“sometext…”将抛出

Error: Data between close double quote (") and field separator.
您应该从.csv文件中删除任何
“NULL
,使其看起来像这样:
123,“引号中的一些文本值”,456