Google cloud platform 为什么谷歌云存储会为我的数据类型抛出不受支持的精度和比例值?

Google cloud platform 为什么谷歌云存储会为我的数据类型抛出不受支持的精度和比例值?,google-cloud-platform,google-bigquery,parquet,Google Cloud Platform,Google Bigquery,Parquet,我目前正试图将拼花地板文件从谷歌云存储上传到BigQuery中的一个表中。对于类型为“FIXED_LEN_BYTE_ARRAY(DECIMAL(35,2))”的字段“X”,我不断收到错误“Unsupported precision and scale values”(35,2)。支持的最大精度和比例为“(38,9)。” 在我看来,(35,2)应该符合(38,9)的精度和比例要求。为什么谷歌云不允许我的拼花文件中的这个数据类型?任何解决方法?由于十进制拼花地板类型支持的整数位数的最大数为29,因此

我目前正试图将拼花地板文件从谷歌云存储上传到BigQuery中的一个表中。对于类型为“FIXED_LEN_BYTE_ARRAY(DECIMAL(35,2))”的字段“X”,我不断收到错误“Unsupported precision and scale values”(35,2)。支持的最大精度和比例为“(38,9)。”


在我看来,(35,2)应该符合(38,9)的精度和比例要求。为什么谷歌云不允许我的拼花文件中的这个数据类型?任何解决方法?

由于十进制拼花地板类型支持的整数位数的最大数为29,因此引发此错误消息;但是,在您的例子中,十进制数据的精度为35,小数位数为2,这意味着整数位数为33。基于此,可用的解决方法是修改精度和比例值,以符合拼花地板文件的要求

使用这些拼花地板类型字段时,您可以查看包含以下说明的官方文档:

带有十进制注释的拼花地板类型最多可能具有精度 38位(总位数),最多9位 小数点的右边)。整数位数,即 精度减去刻度,可能最多为29。例如,十进制(38, 9) 支持,因为精度为38,刻度为9。在里面 在本例中,整数位数为29十进制(38,5)是 不支持,因为它的精度为38,刻度为5。在里面 在本例中,整数位数为33