gpt4 book ai didi

google-api - BigQuery - 检查表是否已存在

转载 作者:行者123 更新时间:2023-12-02 18:06:04 34 4
gpt4 key购买 nike

我在 BigQuery 中有一个数据集。该数据集包含多个表。

我使用 BigQuery API 以编程方式执行以下步骤:

  1. 查询数据集中的表 - 由于我的响应太大,我启用了allowLargeResults参数并将我的响应转移到目标表。

  2. 然后,我将数据从目标表导出到 GCS 存储桶。

要求:

  • 假设我的流程在第 2 步失败,我想重新运行此步骤。

  • 但在重新运行之前,我想检查/验证数据集中是否已存在名为“xyz”的特定目标表。

  • 如果存在,我想重新运行步骤 2。

  • 如果它不存在,我想做 foo。

我该怎么做?

提前致谢。

最佳答案

Alex F 的解决方案适用于 v0.27,但不适用于更高版本。为了migrate to v0.28+ ,以下解决方案将起作用。

from google.cloud import bigquery

project_nm = 'gc_project_nm'
dataset_nm = 'ds_nm'
table_nm = 'tbl_nm'

client = bigquery.Client(project_nm)
dataset = client.dataset(dataset_nm)
table_ref = dataset.table(table_nm)

def if_tbl_exists(client, table_ref):
from google.cloud.exceptions import NotFound
try:
client.get_table(table_ref)
return True
except NotFound:
return False

if_tbl_exists(client, table_ref)

关于google-api - BigQuery - 检查表是否已存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28731102/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com