首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用“BigQuery”在BigQuery中存储9个以上的高精度小数?

如何用“BigQuery”在BigQuery中存储9个以上的高精度小数?
EN

Stack Overflow用户
提问于 2021-11-05 02:53:43
回答 1查看 621关注 0票数 0

我正在尝试将以换行符分隔的geojson文件bq load到BigQuery中。它运行得很好(甚至连geometry值都正常工作!)除非尝试一个高精度的数字超过9个小数点。关键字:根据文档,像"ShapeSTArea": 20263.3349609375这样的值不会存储为NUMERIC,但也不会以STRING的形式存储。

在我的模式中,首先我尝试了一个NUMERIC类型,但是我得到了

代码语言:javascript
复制
- query: Invalid NUMERIC value: 20263.3349609375 Field: ShapeSTArea;
Value: 20263.3349609375

这让我很困惑,但我记得NUMERIC不能代表9个以上的小数。由于明显的原因,我不能使用低精度的FLOAT64。因此,我将模式类型更改为STRING,并获得了

代码语言:javascript
复制
- Error while reading data, error message: JSON parsing error in row
starting at position 0: Could not convert value to string. Field:
ShapeSTArea; Value: 20263.3349609375

所以我有两个问题:

为什么像STRING

  • How这样的值不能作为存储?
EN

回答 1

Stack Overflow用户

发布于 2021-11-05 05:24:51

请向BigQuery - https://cloud.google.com/support/docs/issue-trackers报告将浮点JSON值存储到STRING表列中的问题。我觉得这个应该管用。

您应该能够在不丢失数据的情况下将此值存储在FLOAT64中,FLOAT64有足够的精度存储15位小数。JSON浮点数通常为64位.

或者,您可以使用BigNumeric类型,它比数字:https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#decimal_types具有更高的精度。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69848195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档