14

在下面给出的示例中,最后一行没有上传。我收到一个错误:

Data between close double quote (") and field separator: 

这看起来像一个错误,因为管道符号之间的所有数据都应该被视为一个字段。

架构:一:字符串,二:字符串,三:字符串,四:字符串

上传文件:

This | is | test only | to check quotes
second | line | "with quotes" | no text
third line | with | "start quote" and | a word after quotes

处理上面的第一行和第二行。但不是第三个。


更新:

有人可以解释为什么除了第三行之外以下工作?

This | is | test only | to check quotes
second | line | "with quotes" | no text
third line | with | "start quote" and | a word after quotes
forth line | enclosed | {"GPRS","MCC_DETECTED":false,"MNC_DETECTED":false} | how does this work?
fifth line | with | {"start quote"} and | a word after quotes

对此可以有一些花哨的解释。从最终用户的角度来看,这是荒谬的。

4

6 回答 6

13

来自CSV RFC4180 页面“如果使用双引号括住字段,则出现在字段内的双引号必须通过在其前面加上另一个双引号来进行转义。”

你可能想要这样做:

This | is | test only | to check quotes
second | line | "with quotes" | no text
third line | with | " ""start quote"" and " | a word after quotes

更多关于我们的 CSV 输入格式的信息

于 2012-09-14T06:39:26.940 回答
13

使用--quote效果很好。

bq load 
--source_format CSV --quote "" 
--field_delimiter \t 
--max_bad_records 10 
-E UTF-8   
destination table
Source files 
于 2018-01-31T00:06:38.757 回答
1

您也可以在上传数据时使用其他标志。我使用了带有以下标志的 bq 工具

bq load -F , --source_format CSV --skip_leading_rows 1 --max_bad_records 1 --format csv -E UTF-8 yourdatset gs://datalocation.
于 2014-10-01T12:23:35.903 回答
1
于 2016-08-10T04:44:25.313 回答
1

试试这个作为替代方案:

  • 将 MySQL 备份文件加载到 Cloud SQL 实例中。
  • 直接从 MySQL 中读取 BigQuery 中的数据。

更长的操作方法:

于 2019-09-10T01:24:25.680 回答
0

尝试每次使用bqshell 加载。

我必须加载 1100 列。在尝试使用带有所有错误选项的控制台时,它引发了很多错误。忽略控制台中的错误意味着丢失记录。

因此尝试使用 shell 并成功加载所有记录。

尝试以下操作:

bq load --source_format CSV --quote "" --field_delimiter \t --allow_jagged_rows --ignore_unknown_values --allow_quoted_newlines --max_bad_records 10 -E UTF-8 {dataset_name}.{table_name} gs://{google_cloud_storage_location}/* {col_1}:{data_type1},{col_2}:{data_type2}, ....

参考:

https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-csv#bigquery_load_table_gcs_csv-cli

https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-csv#csv-options
于 2019-07-03T07:33:30.417 回答