2017-09-28 15 views
0

私はBigQueryの表を移入するために使用していますヘッダー行とCSVデータファイルを持っているをスキップする方法:のBigQueryデータをロードする - ヘッダー行

$ cat dummy.csv 
Field1,Field2,Field3,Field4 
10.5,20.5,30.5,40.5 
10.6,20.6,30.6,40.6 
10.7,20.7,30.7,40.7 

Web UIを使用して、私がスキップするヘッダー行の数を指定できるテキストボックスがあります。私はbqコマンドラインツールを使用したBigQueryにデータをアップロードする場合は、私がこれを行うためのオプションを持っていない、と常に次のエラーが発生します。

$ bq load my-project:my-dataset.dummydata dummy.csv Field1:float,Field2:float,Field3:float,Field4:float 
Upload complete. 
Waiting on bqjob_r7eccfe35f_0000015e3e8c_1 ... (0s) Current status: DONE 
BigQuery error in load operation: Error processing job 'my-project:bqjob_r7eccfe35f_0000015e3e8c_1': CSV table encountered too many errors, giving up. Rows: 1; 
errors: 1. 
Failure details: 
- file-00000000: Could not parse 'Field1' as double for field Field1 
(position 0) starting at location 0 

bq command line tool quickstart documentationもスキップするいずれかのオプションを言及していませんヘッダー。

一つの簡単な/明白な解決策は、ヘッダー行を削除するdummy.csvを編集することですが、Googleクラウドストレージ上のCSVファイルの代わりに、ローカルファイルdummy.csvを指している場合、これはオプションではありません。

これはウェブインターフェイスとPython APIを介して行うことができるため、bqツールでも可能です。 bq help loadをチェック

答えて

2

--skip_leading_rowsオプションを明らかにした:

--skip_leading_rows : The number of rows at the beginning of the source file to skip. 
    (an integer) 

はまた、(上記にリンクされているクイックスタートのドキュメント、同じされていない)bq command line tool documentationに、このオプションを見つけました。

bq loadコマンドに--skip_leading_rows=1を追加すると、チャームのように機能します。ここで

は成功したコマンドです:

$ bq load --skip_leading_rows=1 my-project:my-dataset.dummydata dummy.csv Field1:float,Field2:float,Field3:float,Field4:float 
Upload complete. 
Waiting on bqjob_r43eb07bad58_0000015ecea_1 ... (0s) Current status: DONE 
関連する問題