有人曾经使用Google Cloud Functions(insert_rows_from_dataframe()
)将数据流式传输到(google)BigQuery吗?
我的问题是,似乎有时表架构不会立即更新,当您在架构中创建新字段后立即尝试将某些数据加载到表中时,它会返回错误:
BigQueryError:[{“原因”:“无效”,“位置”:“测试”,“ debugInfo”:“”,“消息”:“无此类字段。”}]“
但是,如果我尝试在几秒钟后再次加载,则一切正常,因此我的问题是,是否有人知道此更新的最长时间(从BigQuery方面)(以秒为单位),以及是否有可能避免这种情况?
答案 0 :(得分:1)
由于BigQuery端的API操作不是原子操作,因此无法避免这种情况。
您只能减轻此行为的影响,并进行睡眠,重试或设置Try-catch来重播insert_rows_from_dataframe()
几次(如果是真正的问题,则不是无限次,但对于5次,例如)直到通过。
没有什么是魔术,如果一方无法管理一致性,另一方必须处理!