受信したデータが予想される列数より少ない場合でも、レコードを挿入する方法はありますか?次のメッセージが頻繁に表示されます。
Too few columns: expected 24 column(s) but got 22 column(s)
max_bad_recordオプションを使用してそのようなレコードを無視すると、データが失われます。必要に応じて区切り文字を追加して、レコードを強制的に挿入するオプションを確認したいと思います。
受信したデータが予想される列数より少ない場合でも、レコードを挿入する方法はありますか?次のメッセージが頻繁に表示されます。
Too few columns: expected 24 column(s) but got 22 column(s)
max_bad_recordオプションを使用してそのようなレコードを無視すると、データが失われます。必要に応じて区切り文字を追加して、レコードを強制的に挿入するオプションを確認したいと思います。
Michael Sheldon が以下で言及しているように、allowJaggedRows を指定すると、列が少なすぎる行は、残りのすべての列に対して NULL になります。ただし、行の途中で欠落している列がある場合、BigQuery は欠落している列を認識できず、型が一致しない場合、その行でエラーが発生します。
エラーのあるすべての行を別のテーブルに追加して、それらを処理して元のテーブルに追加するという話がありました。これが役立つと思われる場合は、お知らせください。
データを前処理して正しい形式にします。perl、sedなどを使用できるかどうかは、プラットフォームによって異なります。
bigquery がフィールドが多すぎても文句を言わない場合は、おそらく、すべてのレコードに余分な区切り記号を追加するだけで済みます。