Google bigquery BigQuery有没有办法将较大的结果分解成较小的卡盘进行处理?

Google bigquery BigQuery有没有办法将较大的结果分解成较小的卡盘进行处理?,google-bigquery,Google Bigquery,嗨,我是BigQuery的新手,如果我需要获取一组非常大的数据,比如说超过1GB的数据,我如何将其分解为更小的部分以更快地处理?我需要处理结果并将其转储到文件或elasticsearch中。我需要找到一个有效的方法来处理它。我尝试使用QueryRequest.setPageSize选项,但似乎不起作用。我设定了100条,但似乎并没有打破每100条记录。在我翻开新的一页之前,我把这行放在这条线上,看看我能找回多少条记录 result = result.getNextPage(); 它以随机数目的

嗨,我是BigQuery的新手,如果我需要获取一组非常大的数据,比如说超过1GB的数据,我如何将其分解为更小的部分以更快地处理?我需要处理结果并将其转储到文件或elasticsearch中。我需要找到一个有效的方法来处理它。我尝试使用QueryRequest.setPageSize选项,但似乎不起作用。我设定了100条,但似乎并没有打破每100条记录。在我翻开新的一页之前,我把这行放在这条线上,看看我能找回多少条记录

result = result.getNextPage();
它以随机数目的记录显示。有时是1000,有时是400,等等。
谢谢

我不确定这是否对您有帮助,但在我们的项目中,我们有一些类似的东西:我们在BigQuery中处理大量数据,需要使用最终结果供以后使用(压缩时,我们的数据大约包含15 GB)

我们首先将结果保存到一个表中,并将
AllowLargeResults
设置为
True
,然后使用

它会自动将结果分为多个文件

之后,我们有了一个Python脚本,它可以同时下载所有文件,读取整个过程,并为我们构建一些矩阵


我不太记得下载所有文件需要多长时间,我想大约需要10分钟。我将尝试确认这一点。

不确定这是否对您有帮助,但在我们的项目中,我们有一些类似的东西:我们在BigQuery中处理大量数据,需要使用最终结果供以后使用(压缩时,我们的数据约为15Gbs)

我们首先将结果保存到一个表中,并将
AllowLargeResults
设置为
True
,然后使用

它会自动将结果分为多个文件

之后,我们有了一个Python脚本,它可以同时下载所有文件,读取整个过程,并为我们构建一些矩阵


我不太记得下载所有文件需要多长时间,我想大约需要10分钟。我将尝试确认这一点。

BigQuery的最佳工作方式不是将大量数据存储在别处进行处理,而是将其作为进行处理的地方。与查询/处理相比,导入和导出成本较高。为什么不调整您的案例来做BigQuery擅长的事情呢?您可以在这里打开问题:并链接回堆栈溢出问题,这样它就不会丢失。我被指定从BigQuery中提取数据。所以我别无选择,只能找到解决办法。我确实在stackoverflow上找到了一些东西,可以使用BigQueryAPI获得查询结果。api返回页面中的reuslts。默认情况下,每个页面包含大约100k条记录。因此,我能够相当快速地提取数据。BigQuery的最佳工作方式不是作为存储大量数据以便在其他地方进行处理,而是作为进行处理的地方。与查询/处理相比,导入和导出成本较高。为什么不调整您的案例来做BigQuery擅长的事情呢?您可以在这里打开问题:并链接回堆栈溢出问题,这样它就不会丢失。我被指定从BigQuery中提取数据。所以我别无选择,只能找到解决办法。我确实在stackoverflow上找到了一些东西,可以使用BigQueryAPI获得查询结果。api返回页面中的reuslts。默认情况下,每个页面包含大约100k条记录。因此,我能够相当快地提取数据