GCSからBigQueryに300K行のCSVファイルをアップロードしましたが、次のエラーを受け取りました:
エラーストリームはどこにありますか?
4000エラーを許可するようにテーブル作成の構成を変更し、機能したため、メッセージ内の3894行に問題があるはずですが、このエラーメッセージはどの行または理由について多くを教えてくれません。
ありがとう
ターミナルで次のコマンドを実行することで、ようやくエラーストリームを見ることができました。
bq --format=prettyjson show -j <JobID>
詳細を含むJSONを返します。私の場合、それは:
"message": "Error while reading data, error message: Could not parse '16.66666666666667' as int for field Course_Percentage (position 46) starting at location 1717164"
BigQuery UIでJob History
をクリックしてから、失敗した読み込みジョブをクリックできるはずです。今、無効なCSVファイルをロードしようとしましたが、表示されるエラーは次のとおりです。
Errors:
Error while reading data, error message: CSV table encountered too many errors, giving up. Rows: 1; errors: 1. Please look into the error stream for more details. (error code: invalid)
Error while reading data, error message: CSV table references column position 1, but line starting at position:0 contains only 1 columns. (error code: invalid)
最初のエラーは障害を示す一般的なメッセージですが、2番目のエラー(「エラーストリーム」からの)は、障害のコンテキストを提供するもの、つまりCSV table references column position 1, but line starting at position:0 contains only 1 columns
です。
編集:ジョブIDを指定すると、BigQuery CLIを使用して失敗に関する完全な情報を表示することもできます。次を使用します。
bq --format=prettyjson show -j <job ID>
python clientを使用すると、
from google.api_core.exceptions import BadRequest
job = client.load_table_from_file(*args, **kwargs)
try:
result = job.result()
except BadRequest as err:
for er in err.errors:
print(err)
raise
# or alternatively
# job.errors
残りの回答に続いて、GCPログ(Stackdriver)ツールでもこの情報を確認できます。
しかし、これはあなたの質問に答えないことが起こるかもしれません。詳細なエラー(エリオットが検出したエラーなど)と、より不正確なエラーがあるようです。探索に使用しているUIに関係なく、まったく説明はありません。