如何在bigquery中创建DateTime字段并在golang中更新它?

时间:2017-06-19 23:00:10

标签: go google-bigquery

这里基本上是golang中bigquery的创建脚本:

type data_pix struct {
    Id string
    IdC string
    Stamp   int64
    Tag []string


}
func createTable(client *bigquery.Client, datasetID, tableID string) error {
    ctx := context.Background()
    // [START bigquery_create_table]
    schema, err := bigquery.InferSchema(data_pix{})
    if err != nil {
        return err
    }
    table := client.Dataset(datasetID).Table(tableID)
    if err := table.Create(ctx, schema); err != nil {
        return err
    }
    // [END bigquery_create_table]
    return nil
}

目前我主要使用Int64中的时间戳。

但是我正在寻找关于如何将Datetime添加到我的struct并且btw将Datetime添加到我的数据的任何示例

谢谢和问候

1 个答案:

答案 0 :(得分:3)

我没有使用过bigquery,但我查看了godocsource code

看来,您必须在结构中使用数据类型civil.DateTime reference

例如:

根据godoc和源代码,以下内容应创建DateTime字段。

type data_pix struct {
   Id      string
   IdC     string
   Stamp   civil.DateTime
   Tag     []string
}

schema, err := bigquery.InferSchema(data_pix{})
// now schema should represent DateTime Field

civil.DateTime获得time.Time function。我建议你看看这个go sourcecode了解更多。