Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 以编程方式运行BigQuery查询并上载到表中的最佳方法_Python_Json_Google Bigquery - Fatal编程技术网

Python 以编程方式运行BigQuery查询并上载到表中的最佳方法

Python 以编程方式运行BigQuery查询并上载到表中的最佳方法,python,json,google-bigquery,Python,Json,Google Bigquery,我必须交叉连接目前失败的2个相当大的数据集。我想把数据集分成逻辑块。我计划使用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 dir

我必须交叉连接目前失败的2个相当大的数据集。我想把数据集分成逻辑块。我计划使用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

while x有关在BigQuery中摄取数据的信息可在此处找到:

然而,我不确定你的情景和你的问题是如何联系在一起的。为什么需要上传JSON格式的数据才能运行此查询(假设表1和表2已经在BQ中)


另外,为什么需要执行交叉联接?交叉连接可能非常昂贵,因为如果交叉连接两个大型表,输出将非常庞大。BQ中交叉连接的主要用途是模拟更复杂的连接条件(例如,
明确理解的re:cross-join。不过,我和我的大多数同行都无法真正找到另一种方法。我们有两个带有随时间变化的地理空间点(x,y,timestamp)的表我们需要知道什么时候两个点彼此接近。我们使用了分而治之的方法来解决这个问题,但是有足够多的部分我需要这样做。为了回答你关于JSON的问题,我只想找到一种方法,我可以从python手动上传来测试一些东西——这不是必需的。什么是多次运行查询的最佳方法在BQ中使用一个变化的变量,并将所有结果转储到一个表中?您对“近”的定义是什么?如果它在一个有界的距离内,那么也许您可以按位置为桶分配点,然后在这些桶上进行连接。您可以做的任何事情都将非常有帮助(更不用说更便宜!).如果这只是手动测试,我建议使用“bq”命令行工具或web UI。如果您想从Python编写代码,请尝试bigquery_client.py以获得更好的界面。要查看所有关于在何处写入数据以及如何附加与覆盖的选项,请参阅此处的查询选项:如果您真的想了解详细信息,请参阅以下信息的最终来源: