我有一个值“1.8299324324324324”,如果我将使用 DML 语句插入到 BigQuery,它会将其四舍五入并插入到 Bigquery 中。
但是,对于相同的值,如果 BigQuery 在控制台上使用 csv 文件加载作业,则会出现以下错误。
“位置”:“查询”,“消息”:“无效的数字值:1.8299324324324324 字段:测试;值:1.8299324324324324”,“原因”:“无效查询”
只是想检查这是否是 Bigquery 的限制,在加载作业中它无法转换或理解此值以及如何解决它?
我需要为我正在处理的用例之一提供一些建议。
用例:
我们在 Cloud SQL 中有大约 5-10 个表的数据,有些被视为查找,有些被视为事务性的。我们需要以某种方式将其提供给 BigQuery,从中制作 3-4 个表(扁平化、嵌套或非规范化),这些表将用于 Data Studio、Looker 等中的报告。
数据应该以增量方式处理,并且 Cloud SQL 中的更改可能每 5 分钟发生一次,这意味着数据应该可以近乎实时地用于 BigQuery 报告。如果可能,我们还应该维护数据更改的历史记录。
解决方案:
我们在 BigQuery 中保留了 3 层,因此来自 Cloud SQL 的数据来到第一层,然后在展平后将其保存到第二层(维护历史记录),然后将其处理插入第三层(报告)。这种方法的 问题在于,它是为日常处理而开发的,无法帮助处理 Cloud SQL 中每 5 分钟更改一次的数据。
欢迎任何建议。
注意:-我们需要使用 Dataflow、VM 或其他方式来进行一些逻辑处理,这意味着我们不能只使用计划查询,因为我们不能使用查询来处理所有逻辑,但是可以使用视图和代码的混合.
dataflow google-cloud-sql google-bigquery google-cloud-platform google-cloud-dataflow
dataflow ×1