【发布时间】:2021-11-05 02:53:43
【问题描述】:
我正在尝试将 bq load 以换行符分隔的 geojson 文件放入 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
所以我有两个问题:
- 为什么不能将像
20263.3349609375这样的值存储为STRING? - 我应该如何使用
bq load将这些高精度数字存储在 bigquery 中(不使用数据流或其他脚本)?
【问题讨论】:
标签: google-cloud-platform google-bigquery geojson