web-dev-qa-db-ja.com

BigQuery-エラーストリームはどこにありますか?

GCSからBigQueryに300K行のCSVファイルをアップロードしましたが、次のエラーを受け取りました:

error_image

エラーストリームはどこにありますか?

4000エラーを許可するようにテーブル作成の構成を変更し、機能したため、メッセージ内の3894行に問題があるはずですが、このエラーメッセージはどの行または理由について多くを教えてくれません。

ありがとう

13
Ary Jazz

ターミナルで次のコマンドを実行することで、ようやくエラーストリームを見ることができました。

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"
24
Ary Jazz

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>
7

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
1
Robin Nemeth

残りの回答に続いて、GCPログ(Stackdriver)ツールでもこの​​情報を確認できます。

しかし、これはあなたの質問に答えないことが起こるかもしれません。詳細なエラー(エリオットが検出したエラーなど)と、より不正確なエラーがあるようです。探索に使用しているUIに関係なく、まったく説明はありません。

0
dinigo