首页 > 解决方案 > Python BigQuery - 更快或异步插入行

问题描述

我正在尝试使用python 客户端库将数据上传到 BigQuery ,数据以 json 格式发送以避免转换和序列化缓慢。

我目前有两种方法,它们都不足以满足我的要求:

# self.table is instance of bigquery.Table
# self.client is instance of bigquery.Client

# First method
job_config = bigquery.LoadJobConfig()
results = self.client.load_table_from_json(data, self.table, job_config=job_config)

这是最慢的,平均每次命中 892026 毫秒

# Second method
results = self.client.insert_rows_json(self.table, data)

这更快,但每次命中仍需要 92630 毫秒

我目前正在使用少量行调用这些方法,以便在循环内多次写入(5-10)。我想知道是否有更快的方法来做到这一点,我的下一个尝试是收集要写入的数据并执行单个(或更少)批量插入,更快的插入将使我无法重构我的代码。

标签: pythongoogle-bigquery

解决方案


推荐阅读