如何解决与BigQueryError相关的问题“原因”:“无效”,“位置”:“测试”,“ debugInfo”:“”,“消息”:“无此类字段”。

时间:2019-10-24 17:06:41

标签: python google-cloud-platform google-bigquery

有人曾经使用Google Cloud Functions(insert_rows_from_dataframe())将数据流式传输到(google)BigQuery吗?

我的问题是,似乎有时表架构不会立即更新,当您在架构中创建新字段后立即尝试将某些数据加载到表中时,它会返回错误:

  

BigQueryError:[{“原因”:“无效”,“位置”:“测试”,“ debugInfo”:“”,“消息”:“无此类字段。”}]“

但是,如果我尝试在几秒钟后再次加载,则一切正常,因此我的问题是,是否有人知道此更新的最长时间(从BigQuery方面)(以秒为单位),以及是否有可能避免这种情况?

1 个答案:

答案 0 :(得分:1)

由于BigQuery端的API操作不是原子操作,因此无法避免这种情况。

您只能减轻此行为的影响,并进行睡眠,重试或设置Try-catch来重播insert_rows_from_dataframe()几次(如果是真正的问题,则不是无限​​次,但对于5次,例如)直到通过。

没有什么是魔术,如果一方无法管理一致性,另一方必须处理!