私はGoでRESTfulなAPIを作り、BigQueryで行を書き込みます。私はGoogle BigQuery package for Goを使用しています。必須ではないフィールドでBigQueryでテーブルを作成するにはどうすればよいですか?
BigQueryスキームを作成するために、私はexampleで説明されているように、構造体からスキーマを推測しています。
問題は、結果のスキーマにすべての繰り返しフィールドが「必須」となっているため、ヌル値を持つ構造体をアップロードするときにヌル値がempyフィールドとしてアップロードされる...
これは私の構造体の例である:私は唯一のフィールドSEで構造体をアップロードする場合は、
testSchema, err := bigquery.InferSchema(Stats{})
if err != nil {
// TODO: Handle error.
}
そして:
type Stats struct {
Name string `bigquery:"name"`
LastName int `bigquery:"last_name"`
PhoneNumber string `bigquery:"phone_number"`
}
これは、スキーマの作成方法の例です。 T:
rows := []*Stats{
{Name: "testA"},
}
u := table.Uploader()
err2 := u.Put(ctx, rows)
結果はBigQueryの中で、フィールド「LAST_NAME」と「PHONE_NUMBER」は代わりにNULL