0

次のコマンドを使用してデータをロードします。

/home/bigquery/bq load --max_bad_record=30000 -F '^'  company.junelog entry.gz country:STRING,telco_name:STRING,datetime:STRING, ...

ゼロ以外の戻りコードを受け取ったときに、データがまだロードされていたことがありました。コマンドが成功したかどうかを確認するにはどうすればよいですか? 戻りコードを確認しても役に立たないようです。エラーが発生したため、同じファイルを再度ロードしたことがありますが、データは既に bigquery で使用可能でした。

4

1 に答える 1

1

読み込みジョブの bq show -j を使用して、ジョブのステータスを確認できます。ロードを実行するコードを作成していて、ジョブ ID がわからない場合は、ジョブ ID をロード操作に渡すことができます (一意である限り)。これにより、どのジョブを確認するかがわかります。

たとえば、実行できます

/home/bigquery/bq load --job_id=some_unique_job_id --max_bad_record=30000 -F '^' company.junelog entry.gz country:STRING,telco_name:STRING,datetime:STRING, ...'

それから /home/bigquery/bq show --j some_unique_job_id

(追加ではなく) ロードごとに新しいテーブルを作成する場合は、書き込みディスポジション WRITE_EMPTY を使用して、テーブルが空の場合にのみロードを実行し、同じデータが 2 回追加されるのを防ぐことができます。これは bq.py では直接サポートされていませんが、基礎となる bigquery_client.py を使用してこの呼び出しを行うか、REST API を直接使用できます。

于 2012-06-13T16:01:44.183 に答える