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