3

load コマンドを使用して JSON レコードを Big Query に読み込むと、次のエラーが表示されます。

読み込み操作での BigQuery エラー: ジョブ「job_d727bf8944884b20b709ded2887b7a13」の処理中にエラーが発生しました: レコード フィールドにフラット値が指定されました失敗の詳細:

  • 予想外。もう一度やり直してください。
  • 行が最大許容サイズを超えています

問題のレコードは、JSON の最大許容サイズを大幅に下回っているようで、整形式です。テーブルのスキーマはネストされたレコードを使用していますが、ログの形式もスキーマも最近変更されていないため、このエラーが突然発生した理由は不明です。

更新

通常、ロード操作は --max_bad_records パラメータを使用して実行されるため、存在する可能性のある不適切な形式のレコードがいくつかスキップされます。ご指摘いただいたファイルを個別に再読み込みしてみましたが、max_bad_records の定義の有無にかかわらず、今回はエラーなく成功したようです。

bq load --max_bad_records 20 --source_format NEWLINE_DELIMITED_JSON telemetry_data_2013_06_20 "gs:/.../2013-06-12-01/ip-10-144-3-198.log"

ジョブ ID は次のとおりです。

job_5822a36c5c364117a6651f3e8b81b49f
job_ed4080f9f60c485bb265c09367902f00

今回、このファイルが成功したのはなぜですか?

4

1 に答える 1

0

私たちがアクセスできるログによると、ロード ジョブに追加データのない単に「:」のエントリが繰り返されているようです。

BigQuery に問題がある可能性があります。場合によっては、1 つのレコードのサイズ制限が、宣伝されている 16 MB ではなく 2 MB に設定されます。「Row large than the maximum allowed size」という応答をスローする行が 2Mb 未満であることを確認できますか?

于 2013-06-21T15:03:30.527 に答える