gpt4 book ai didi

Python:如何在 40 秒内更新 Google BigQuery 中的值?

转载 作者:行者123 更新时间:2023-12-01 11:20:01 26 4
gpt4 key购买 nike

我在 Google BigQuery 有一张 table 我使用 pandas 在 Python 中访问和修改功能 read_gbqto_gbq .问题是附加 100,000 行大约需要 150 秒,而附加 1 行需要大约 40 秒。我想更新表中的值而不是附加一行,有没有办法使用非常快或快于 40 秒的 python 更新表中的值?

最佳答案

不确定您是否可以使用 pandas 这样做但你肯定可以使用 google-cloud图书馆。

你可以安装它( pip install --upgrade google-cloud )并像这样运行它:

import uuid
import os
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = 'path_to_json_credentials.json'
from google.cloud.bigquery.client import Client

bq_client = Client()

job_id = str(uuid.uuid4())
query = """UPDATE `dataset.table` SET field_1 = '3' WHERE field_2 = '1'"""
job = bq_client.run_async_query(query=query, job_name=job_id)
job.use_legacy_sql = False
job.begin()

这里这个操作平均需要 2 秒。

作为旁注,重要的是要记住 quotas与 BQ 中的 DML 操作相关,也就是说,知道何时适合使用它们以及它们是否适合您的需求。

关于Python:如何在 40 秒内更新 Google BigQuery 中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45003276/

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