をアップロードするとき、すべての不正なレコードを受信しません。ここでは、テーブルスキーマがあります:ここBigQueryのバグ:私はBigQueryのテーブル</p> <p>にデータをアップロードしようとしているデータ
[{
"name": "temp",
"type": "STRING"
}]
は私がアップロードしてる私のファイルです。ここ
{"temp" : "0"}
{"temp1" : "1"}
{"temp2" : "2"}
{"temp3" : "3"}
{"temp4" : "4"}
{"temp5" : "5"}
{"temp6" : "6"}
{"temp7" : "7"}
{"temp" : "8"}
{"temp" : "9"}
は可能エラーをアップロードするためのBQコマンドです:
bq load --source_format=NEWLINE_DELIMITED_JSON --max_bad_records=100 mydataset.mytable ./tmp.json
私が使用している
今
Upload complete.
Waiting on bqjob_123.._1 ... (2s) Current status: DONE
Warnings encountered during job execution:
JSON parsing error in row starting at position 15 at file: file-00000000. No such field: temp1.
JSON parsing error in row starting at position 31 at file: file-00000000. No such field: temp2.
JSON parsing error in row starting at position 47 at file: file-00000000. No such field: temp3.
JSON parsing error in row starting at position 63 at file: file-00000000. No such field: temp4.
JSON parsing error in row starting at position 79 at file: file-00000000. No such field: temp5.
:
私が受け取る
bq --format=prettyjson show -j <jobId>
を、これは私が得るものです(私はここにコピーされただけで、関連するフィールド):
{
"configuration": {
...
"maxBadRecords": 100
}
,
"statistics": {
"load": {
"inputFileBytes": "157",
"inputFiles": "1",
"outputBytes": "9",
"outputRows": "3"
}
},
"status": {
"errors": [
{
"message": "JSON parsing error in row starting at position 15 at file: file-00000000. No such field: temp1.",
"reason": "invalid"
},
{
"message": "JSON parsing error in row starting at position 31 at file: file-00000000. No such field: temp2.",
"reason": "invalid"
},
{
"message": "JSON parsing error in row starting at position 47 at file: file-00000000. No such field: temp3.",
"reason": "invalid"
},
{
"message": "JSON parsing error in row starting at position 63 at file: file-00000000. No such field: temp4.",
"reason": "invalid"
},
{
"message": "JSON parsing error in row starting at position 79 at file: file-00000000. No such field: temp5.",
"reason": "invalid"
}
],
"state": "DONE"
}
}
今私は私のテーブルに行って、実際には3つの新しいレコード(実際にはoutputRows : 3
フィールドに一致します):
:
{"temp" : "0"} {"temp" : "8"} {"temp" : "9"}
は今、これらは私のqustionsです。 - temp6を受け取らなかった。今、私はより多くの悪いレコードを含むファイルをアップロードしようとしましたが、いつも5だけしか受け取りませんでした。これはbigqueryのバグですか?
私のレコードが大きいと仮定し、アップロード後にエラーが発生するレコードを多数アップロードすると、どのレコードが悪いレコードであるかを知ることができますか? - 私はbigqueryにロードされていないレコードを知る必要があります。 私が得るのは
JSON parsing error in row starting at position 15 at file..
です。ポジションは教えてくれません。なぜレコードの番号を受け取ることができないのですか?または、レコード番号をその位置で計算する方法はありますか?
メモ帳++にコピー&ペーストしてCtrl + gをクリックすると、オフセットの設定が行われ、問題に直面している正確な行番号を見つけるのに役立ちます。 –