我有一个值“1.8299324324324324”,如果我将使用 DML 语句插入到 BigQuery,它会将其四舍五入并插入到 Bigquery 中。
但是,对于相同的值,如果 BigQuery 在控制台上使用 csv 文件加载作业,则会出现以下错误。
“位置”:“查询”,“消息”:“无效的数字值:1.8299324324324324 字段:测试;值:1.8299324324324324”,“原因”:“无效查询”
只是想检查这是否是 Bigquery 的限制,在加载作业中它无法转换或理解此值以及如何解决它?
根据文档,BigQuery 的NUMERIC类型限制为 9 个十进制数字:
具有 38 位十进制精度和 9 位十进制小数位的十进制值。
作为替代方案,使用(不太精确的)FLOAT64类型应该可以绕过这个问题。
小智 3
我进行了一些测试,我可以复制您提到的行为;但是,我找不到任何表明这是 BigQuery 限制的文档。鉴于在两者中观察到不同的行为(使用 DML 语句和加载作业),这看起来像是平台的问题,我已在Google 的问题跟踪器中提交了问题。我建议您在那里跟进此事。
我建议您的解决方法是创建一个新表并将字段定义为浮点数而不是数字,或者将数字内容截断到 CSV 文件中,然后再将其上传到 BigQuery。
| 归档时间: |
|
| 查看次数: |
3178 次 |
| 最近记录: |