Google bigquery Google BigQuery中的表一致性?

Google bigquery Google BigQuery中的表一致性?,google-bigquery,Google Bigquery,我们最近有一次测试失败,它为BigQuery提出了一个问题一致性模型:在我们创建了一个表之后,其他操作是否应该立即看到该表? 背景: 我们的测试使用一些数据在BigQuery中创建一个表,等待作业完成,然后检查该表是否存在 gbq.write_gbq(df, dataset_id, table_name, project_id=project_id, block=True) assert table_name in gbq.list_tables(dataset_id, project_id

我们最近有一次测试失败,它为BigQuery提出了一个问题一致性模型:在我们创建了一个表之后,其他操作是否应该立即看到该表?

背景: 我们的测试使用一些数据在BigQuery中创建一个表,等待作业完成,然后检查该表是否存在

 gbq.write_gbq(df, dataset_id, table_name, project_id=project_id, block=True)
 assert table_name in gbq.list_tables(dataset_id, project_id=project_id)  # fails

仅供参考
block=True
运行
wait_for_job
,因此等待作业完成。

是的,表格应在创建后即可使用

但我怀疑问题不在于BigQuery

请注意,在中,
tables.list()
操作具有此nextPageToken参数。您可能需要使用它来检索数据集中的所有表


这有一个关于如何使用它的例子。基本上,虽然定义了一个pageToken,但还没有列出所有的表。

是的,表应该在创建之后就可以使用了

但我怀疑问题不在于BigQuery

请注意,在中,
tables.list()
操作具有此nextPageToken参数。您可能需要使用它来检索数据集中的所有表


这有一个关于如何使用它的例子。基本上,虽然定义了pageToken,但还没有列出所有的表。

巧合的是,
list\u tables
正在调用
gbq
。此外,该数据集中只有5个表,因此即使不是,也不可能是问题的根源。这可能是最终的一致性问题吗?嗯,我明白了。除此之外,我唯一想到的是,如果在您的
wait\u作业中
抛出了一些异常,而不是达到“完成”状态。您能否断言作业状态也是“完成”的?这就是
wait\u for\u job
所做的:(巧合的是,
list\u tables
正在调用
pandas gbq
。此外,该数据集中只有5个表,因此即使不是,也不太可能是问题的根源。这可能是最终的一致性问题吗?嗯,我明白了。除此之外,我唯一想到的是如果在
中等待_job
引发了一些异常,而没有达到“完成”状态。您可以断言job状态也是“完成”吗?这就是
wait_for_job
所做的:(这是一个Google BigQuery后端问题,现在根据已解决的依据进行修复):这是一个Google BigQuery后端问题,现在根据已解决的依据进行修复: