gpt4 book ai didi

python - 以编程方式运行 BigQuery 查询并上传到表中的最佳方式

转载 作者:太空宇宙 更新时间:2023-11-03 17:25:49 24 4
gpt4 key购买 nike

我必须交叉连接 2 个目前失败的相当大的数据集。我想将数据集分割成逻辑 block 。我计划使用 Python 按顺序运行查询,并使用在每次循环运行期间更改的变量,例如:

while x <= 100:
#Code to query in BigQuery: [SELECT * FROM table1 CROSS JOIN table2 WHERE table1.field = 'x'] then write the query results to a JSON file or upload directly in BigQuery
x += 1 #X is a counter

看起来单个 bigquery 查询的响应是一个 JSON 文件,但我一直在弄清楚如何上传并将其附加到表中。当我尝试在 BigQuery 中手动上传 JSON 文件时,它出错了 - 我不完全确定如何格式化它以便 BigQuery 正确读取它。

问题: 1. 这是一个好方法吗? 2. 如何准备 JSON 文件以便在 BigQuery 中成功上传? 3. 自动执行此操作的最佳方法是什么? (大概是通过API)

最佳答案

有关在 BigQuery 中提取数据的信息可以在此处找到: https://cloud.google.com/bigquery/preparing-data-for-bigquery

但是,我不确定您的场景和您的问题是如何联系起来的。为什么需要以 JSON 格式上传数据才能运行此查询(假设 table1 和 table2 已在 BQ 中)?

另外,为什么需要执行交叉连接?交叉联接可能非常昂贵,因为如果交叉联接两个大型表,您的输出将变得难以管理。 BQ 中交叉连接的主要用途是通过交叉连接模拟更复杂的连接条件(例如 <= ),然后立即过滤输出。但即使这样也很昂贵,所以我鼓励您考虑其他方法来计算您想要的答案。

关于python - 以编程方式运行 BigQuery 查询并上传到表中的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32574420/

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