【发布时间】:2021-09-20 12:49:00
【问题描述】:
我正在尝试使用存储写入 API 将日期时间发送到 bigquery。
我的 BQ 模型有一个日期时间列。 我用 Jackson 将我的 java 模型解析为 json,解决这个问题(用转义文字尝试两种方式):
{"last_updated":"2021-09-20T10:15:26.796731"}
{"last_updated":"'2021-09-20T10:15:26.796731'"}
而 bigquery 会返回此错误。
JSONObject does not have a int64 field at root.last_updated.
正如我在文档中所读到的,它应该支持字符串文字作为日期时间:https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical#datetime_literals
【问题讨论】:
-
嗯,你确定你正在传递 ' ' 字符串文字吗? :)
-
更新了我的问题。我已经尝试在日期中添加单引号,同样的响应
-
我已经复制了您的场景,并且在使用 BigQuery Storage Write API 写入 DATETIME 值时遇到了同样的问题。在issue tracker 中也提出了同样的问题。但是,我们目前无法提供 ETA,但您可以通过引用 link 来“星标”该问题以接收有关进度的自动更新并为其提供牵引力。
-
嗨@Nacho,最新版本的java-bigquerystorage (v2.3.3) 现在支持
int64DATETIME 输入值的编码。使用 here 所示的依赖项。
标签: java google-bigquery