LoginSignup
3

More than 5 years have passed since last update.

Google BigQueryのCSVロードでMissing close double quote (") character.

Posted at

S3にCSVファイルが置かれたら、ファイルをBigQueryにアップロードするタスクを仕掛けていたら、ある日を境にこけ始めた。

$ bq load --skip_leading_rows=1 --replace --sync --project_id mypj ...[以下省略]
Upload complete.
Waiting on bqjob_r42fb5f95fa2e4847_0000015a213d6a98_1 ... (89s) Current status: DONE   

BigQuery error in load operation: Error processing job 'amimoto-dashboard:bqjob_r42fb5f95fa2e4847_0000015a213d6a98_1': Too many errors encountered.
Failure details:
- /gzip/subrange/file-00000000: Error detected while parsing row
starting at position: 250878765. Error: Missing close double quote
(") character.

Missing close double quote。なんでやねんと思って調査。

改行。

csvファイルの行数は1,117,796、pandasでロードしたらレコード数は1,117,768。。。??

で、あるカラムに改行を発見。

"foobarstring\n"

なるほど。

--allow_quoted_newlinesをつけて対応できるケースだった

$ bq load --skip_leading_rows=1 --allow_quoted_newlines --replace --sync --project_id mypj ...[以下省略]

Upload complete.
Waiting on bqjob_r1680e9a9697238aa_0000015a214b406d_1 ... (168s) Current status: DONE  

ちなみに改行が混入したのはAWSの請求データで、user:Nameとされているカラムでした。リソースタグに\nとか入れたら請求のCSVに記述されて、どこかで何かがこけちゃうぞ!

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3