为什么双引号和 <N> 在上传到 BigQuery 时会导致错误?

Why double quote and <N> cause errors when upload to BigQuery?

当我的程序尝试通过作业上传到 BigQuery 上传 .csv 文件时报告错误:

Job failed while writing to Bigquery. invalid: Too many errors encountered. Limit is: 0. at 
Error: [REASON] invalid [MESSAGE] Data between close double quote (") and field separator: field starts with: <N> [LOCATION] File: 0 / Line:21470 / Field:2
Error: [REASON] invalid [MESSAGE] Too many errors encountered. Limit is: 0. [LOCATION] 

我追溯到我的文件,确实找到了指定的行,如:

3D0F92F8-C892-4E6B-9930-6FA254809E58~"N" STYLE TOWING~1~0~5.7.1512.441~10.20.10.25:62342~MSSqlServer: N_STYLE on localhost~3~2015-12-17 01:56:41.720~1~<?xml version="1

分隔符设置为 ~ ,那为什么双引号或 是个问题?

csv 规范规定,如果字段中有引号,则应引用整个字段。与 a,b,"c,d" 一样,它只有三个字段,因为引用了第三个逗号。当在结束引号之后但在下一个定界符之前有数据时,csv 解析器会感到困惑,如 a,b,"c,d"e.

您可以通过指定自定义引号字符来解决此问题,因为听起来您根本不需要引号字符,因此您可以将其设置为您永远不会看到的内容,例如 [=12 =]|。您已经设置 configuration.load.delimiter,只需设置 configuration.load.quote