0

受信したデータが予想される列数より少ない場合でも、レコードを挿入する方法はありますか?次のメッセージが頻繁に表示されます。

Too few columns: expected 24 column(s) but got 22 column(s)

max_bad_recordオプションを使用してそのようなレコードを無視すると、データが失われます。必要に応じて区切り文字を追加して、レコードを強制的に挿入するオプションを確認したいと思います。

4

3 に答える 3

1

Michael Sheldon が以下で言及しているように、allowJaggedRows を指定すると、列が少なすぎる行は、残りのすべての列に対して NULL になります。ただし、行の途中で欠落している列がある場合、BigQuery は欠落している列を認識できず、型が一致しない場合、その行でエラーが発生します。

エラーのあるすべての行を別のテーブルに追加して、それらを処理して元のテーブルに追加するという話がありました。これが役立つと思われる場合は、お知らせください。

于 2012-09-20T14:29:02.840 に答える
1

データを前処理して正しい形式にします。perl、sedなどを使用できるかどうかは、プラットフォームによって異なります。

bigquery がフィールドが多すぎても文句を言わない場合は、おそらく、すべてのレコードに余分な区切り記号を追加するだけで済みます。

于 2012-09-20T11:54:45.740 に答える