【发布时间】:2019-03-18 17:58:45
【问题描述】:
以下查询突然停止工作:
SELECT
CAST((SELECT up.value.string_value FROM UNNEST(user_properties) up WHERE key = "user_id") AS INT64) AS user_id,
(TIMESTAMP_MILLIS(CAST(event_timestamp/1000 AS INT64))) AS event_date
`firebase.dataset.events_*`
错误如下:
bad int64 value:
查询几个月来一直运行良好,今天发生了一些事情导致了这个错误。有没有人有同样的问题?问题可能出在我们的数据中吗?这可能是 GCP 方面的临时问题吗?谢谢!
【问题讨论】:
-
对我来说听起来像是一个溢出问题,你确定 event_timestamp/1000 仍然适合 int64 吗?
-
我找到了问题所在。 user_id 字段是一个字符串,一些事件(原因不明)包含一个空字符串,不能转换为整数。我认为解决方案是 1)修复在我们的应用程序上发送空字符串的错误和 2)忽略空字符串的安全转换/忽略带有 if 语句的行。
标签: sql firebase google-bigquery