gpt4 book ai didi

python - bigquery python client.run_async_query 给出错误 : 409 Already Exists

转载 作者:行者123 更新时间:2023-12-01 02:50:04 25 4
gpt4 key购买 nike

我正在编写一个运行特定 SELECT 异步查询的 python 脚本。第一次运行脚本后,总是会出错,并出现以下错误:

google.cloud.exceptions.Conflict: 409 Already Exists: Job ps-bigdata:vci-temp-sales-query-job (POST https://www.googleapis.com/bigquery/v2/projects/ps-bigdata/jobs)

这是一个代码片段:

from google.cloud import bigquery

google_auth_json_file = './myprojectauth.json'
client = bigquery.Client.from_service_account_json( google_auth_json_file )

project = 'myProject'
dataset = 'myDataset'
ds = client.dataset(dataset)
query = "SELECT X,y,z FROM mytable;"

#--- Clear/create temp table
temp_table_name = 'myTempTable'
temp_tbl = myCreateTempTableFunction( client, project, dataset, temp_table_name )

#--- Create an async query job
job_name = 'vci-temp-sales-query-job'
job = client.run_async_query(job_name, query)
job.destination = temp_tbl
job.write_disposition = 'WRITE_TRUNCATE'
job.begin()

此脚本在“job.begin()”行失败。我不知道命名作业在 session 结束或作业执行之后仍然存在。如何检查指定作业是否已存在,如果存在,如何删除现有的指定作业以创建新作业?或者每次运行异步作业时我都必须创建随机或唯一的作业名称吗?

最佳答案

您需要使用唯一的作业 ID,因为这是与操作的元数据关联的内容。引用querying data example ,您的代码可能是这样的:

job_name = 'vci-temp-sales-query-job_{}'.format(uuid.uuid4())

关于python - bigquery python client.run_async_query 给出错误 : 409 Already Exists,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44894433/

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