我按照以下格式将 JSON 发布到 Pub/Sub:
{"reading":"11202.8"}
数字被编码为字符串以强制明确的精度。使用 Pub/Sub BigQuery 订阅将其写入 BigQuery。
reading
的列类型为 NUMERIC
。
当我发布一个整数(即
{"reading":"6533"}
)时,一个看似随机的数字会被写入 BigQuery(即 -0.000549397
)。
如果我将其编码为
6533.0
,它看起来是正确写入的。
我应该对其进行不同的编码吗?或者这是一个错误?
当您将“6533”等字符串值发布到 BigQuery 时,它最初会被解释为字符串。然后,BigQuery 尝试根据列架构将此字符串隐式转换为数字类型,但这可能会导致不一致。
我建议在您的 Pub/Sub 消息中发布浮点值。
{ "reading": 11202.8 }