背景
在Bigquery自动检测中,我将以下json数据加载到BQ表。
"":""" B":" Q"
"":""" B":" Q1"
"":" 1"" B":" W2"
现在,当这个json上传时,BQ抛出错误无法转换字段" a"到整数。
思想
我猜BQ,在读完两行后,BQ推断字段" a"作为字符串然后在" a":" 1"来了,BQ试图将它转换为整数(但为什么?)。
所以,为了更多地调查,我修改了json如下。
"":" F"" B":" Q"
"":" V"" B":" Q1"
"":" 1"" B":" W2"
现在,当我使用这个json时,没有错误,数据被平滑地加载到表中。
我不知道为什么在这种情况下,如果BQ推断字段" a"作为字符串,它怎么会抛出没有错误(为什么它不试图转换" a":" 1"到整数)?
查询
我假设是,BQ仅在字段中看到数据时将字段推断为特定类型(" a":" 1"或" a&# 34;:" f"),但我不知道的是为什么BQ会尝试自动转换(" a":#34; 1")当为string类型时为整数。
这种自动转换可能会产生问题。
请告诉我,如果我的假设是正确的,可以采取哪些措施来避免此类错误,因为实时数据不在我的控制范围内,我只能控制我的代码(使用自动检测)。
答案 0 :(得分:1)
这是自动检测的错误。我们正在努力修复。