为什么双引号和 <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
。
当我的程序尝试通过作业上传到 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
。