如何在 BigQuery 架构中设置 FLOAT 的精度
How to set the precision of a FLOAT in BigQuery schema
在 BigQuery 中,如果我想在查询中舍入 FLOAT
类型字段,我使用 ROUND()
函数。
是否可以在模式中或通过一些设置精度 option/parameter?
示例:
一个数据文件包含一些 FLOAT
类型的字段,这些字段在小数点后包含太多数字 (18),我想在上传过程中通过在架构中指定一些参数或选项来将其四舍五入.
[
{"mode": "NULLABLE", "name": "BRAND", "type": "STRING", "description": null},
{"mode": "NULLABLE", "name": "PRICE", "type": "FLOAT", "description": null [, "<precision>":"2"]}
]
将数据上传到 BigQuery 时无法执行任何数据转换。
一般可以试试其他的方法:
从上传的 table 创建一个新的 table。为此,您可以创建一个查询并在其中执行所需的转换。
例如:CREATE TABLE project_name.dataset_name.new_table_name as SELECT Brand, round(price,5) as Price from project_name.dataset_name.uploaded_table_name;
正在根据查询结果创建 table。 https://cloud.google.com/bigquery/docs/tables#creating_a_table_from_a_query_result
在 BigQuery 中,如果我想在查询中舍入 FLOAT
类型字段,我使用 ROUND()
函数。
是否可以在模式中或通过一些设置精度 option/parameter?
示例:
一个数据文件包含一些 FLOAT
类型的字段,这些字段在小数点后包含太多数字 (18),我想在上传过程中通过在架构中指定一些参数或选项来将其四舍五入.
[
{"mode": "NULLABLE", "name": "BRAND", "type": "STRING", "description": null},
{"mode": "NULLABLE", "name": "PRICE", "type": "FLOAT", "description": null [, "<precision>":"2"]}
]
将数据上传到 BigQuery 时无法执行任何数据转换。
一般可以试试其他的方法:
从上传的 table 创建一个新的 table。为此,您可以创建一个查询并在其中执行所需的转换。 例如:CREATE TABLE project_name.dataset_name.new_table_name as SELECT Brand, round(price,5) as Price from project_name.dataset_name.uploaded_table_name;
正在根据查询结果创建 table。 https://cloud.google.com/bigquery/docs/tables#creating_a_table_from_a_query_result