我插入了 JSON:
{key1:xxx, key2:xxx, ..., key3:1.0000000123456789, ..., keyn:xxx}
进入 Redshift 中的超级类型列,并在 Redshift 上产生以下结果:
{key1:xxx, key2:xxx, ..., key3:1.0000000123456787, ..., keyn:xxx}.
key3的值从最后的9变成了7
为什么会出现这样的错误?
我怀疑该错误是由于将JSON数据转换为二进制然后恢复而导致的,可能涉及到二进制数据的截断。如果有任何与此相关的事实,我将不胜感激您的帮助。
我相信 JSON 只有 INT 和 FLOAT 作为数字类型,并且您可能会遇到 FLOAT 的最大精度。 您可以在使用 DOUBLE 定义 SUPER 后更新它以重新获得精度。