我正在使用新的Storage API从 Golang 将数据流式传输到 bigquery 。我的 bigquery 表的架构包含一个 TIMESTAMP 字段,如下所示:bq mk -t mydataset.mytable name:string,lastseen:timestamp另外,我已经定义了一个这样的协议缓冲区:message Row { string Name = 1; google.protobuf.Timestamp LastSeen = 3;}但是,当我将此数据提交到 BigQuery 时,我收到以下错误:rpc error: code = InvalidArgument desc = The proto field mismatched with BigQuery field at tutorial_Row.LastSeen, the proto field type message, BigQuery field type TIMESTAMP似乎google.protobuf.Timestampprotobuf 与 bigquery 中的 TIMESTAMP 类型不对应。这是有道理的,因为 bigquery 文档说 TIMESTAMP 包含时区,但google.protobuf.Timestamp不包含时区。但是我应该使用哪个协议缓冲区?
1 回答
陪伴而非守候
TA贡献1757条经验 获得超8个赞
是的,后端没有正确解码原始时间戳消息。
最快的分辨率答案:发送 int64 类型,填充为纪元微秒。
https://cloud.google.com/bigquery/docs/write-api#data_type_conversions
- 1 回答
- 0 关注
- 78 浏览
添加回答
举报
0/150
提交
取消