我正在尝试将以换行符分隔的geojson文件bq load到BigQuery中。它运行得很好(甚至连geometry值都正常工作!)除非尝试一个高精度的数字超过9个小数点。关键字:根据文档,像"ShapeSTArea": 20263.3349609375这样的值不会存储为NUMERIC,但也不会以STRING的形式存储。
在我的模式中,首先我尝试了一个NUMERIC类型,但是我得到了
- query: Invalid NUMERIC value: 20263.3349609375 Field: ShapeSTArea;
Value: 20263.3349609375这让我很困惑,但我记得NUMERIC不能代表9个以上的小数。由于明显的原因,我不能使用低精度的FLOAT64。因此,我将模式类型更改为STRING,并获得了
- 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
发布于 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具有更高的精度。
https://stackoverflow.com/questions/69848195
复制相似问题