如何在 Node.js 中使用 bigquery API 获取 Google Cloud 的 800 万条记录?
How to fetch 8 million records of Google Cloud using bigquery API in Node.js?
我正在使用 Bigquery 查询 Google 云数据。
当我 运行 查询时 return 大约有 800 万行。
但它抛出错误:
Response too large to return
我怎样才能得到所有800万条记录,谁能帮忙。
试试这个,
在查询window下,有一个按钮'Show Options',点击它,然后你会看到一些选项,
- select 或创建新目的地 table;
- 单击 'Allow Large Results'
运行你的查询,看看它是否有效。
1。 Big Query Response 的最大大小是多少?
正如在 Quota-policy 查询中提到的那样,最大响应大小:压缩 128 MB(当 return 处理大型查询结果时无限制)
2。我们如何select查询请求中的所有记录而不是'Export Method'?
如果您计划 运行 一个可能 return 更大结果的查询,您可以在 job configuration.
中将 allowLargeResults
设置为 true
return 大结果的查询将需要更长的时间来执行,即使结果集很小,并且受制于 additional limitations:
- 您必须指定目的地 table。
- 您不能指定顶级 ORDER BY、TOP 或 LIMIT 子句。这样做会抵消使用 allowLargeResults 的好处,因为无法再并行计算查询输出。
- Window 函数只有在与 PARTITION BY 子句结合使用时才能 return 大型查询结果。
详细了解如何分页以获得结果 here and also read from the BigQuery Analytics book, the pages that start with page 200, where it is explained how Jobs::getQueryResults 与 maxResults
参数和 int 的阻塞模式一起工作。
更新:
查询结果大小限制 - 有时,很难知道压缩后的 128 MB 是多少
数据表示。
当您 运行 在 BigQuery 中进行普通查询时,响应大小限制为 128 MB
的压缩数据。有时,很难知道压缩后的 128 MB
数据手段。它会压缩 2 倍吗? 10倍?结果被压缩在
它们各自的列,这意味着压缩比往往非常
好的。例如,如果您有一列是一个国家的名称,那么
可能只有几个不同的值。当你只有几个不同的
值,这意味着没有很多唯一信息,并且该列
通常会很好地压缩。如果您 return 加密数据块,它们将
可能不会很好地压缩,因为它们大多是随机的。 (这在上面链接的书第 220 页上有解释)
我正在使用 Bigquery 查询 Google 云数据。
当我 运行 查询时 return 大约有 800 万行。 但它抛出错误:
Response too large to return
我怎样才能得到所有800万条记录,谁能帮忙。
试试这个,
在查询window下,有一个按钮'Show Options',点击它,然后你会看到一些选项,
- select 或创建新目的地 table;
- 单击 'Allow Large Results'
运行你的查询,看看它是否有效。
1。 Big Query Response 的最大大小是多少?
正如在 Quota-policy 查询中提到的那样,最大响应大小:压缩 128 MB(当 return 处理大型查询结果时无限制)
2。我们如何select查询请求中的所有记录而不是'Export Method'?
如果您计划 运行 一个可能 return 更大结果的查询,您可以在 job configuration.
中将allowLargeResults
设置为 true
return 大结果的查询将需要更长的时间来执行,即使结果集很小,并且受制于 additional limitations:
- 您必须指定目的地 table。
- 您不能指定顶级 ORDER BY、TOP 或 LIMIT 子句。这样做会抵消使用 allowLargeResults 的好处,因为无法再并行计算查询输出。
- Window 函数只有在与 PARTITION BY 子句结合使用时才能 return 大型查询结果。
详细了解如何分页以获得结果 here and also read from the BigQuery Analytics book, the pages that start with page 200, where it is explained how Jobs::getQueryResults 与 maxResults
参数和 int 的阻塞模式一起工作。
更新:
查询结果大小限制 - 有时,很难知道压缩后的 128 MB 是多少 数据表示。
当您 运行 在 BigQuery 中进行普通查询时,响应大小限制为 128 MB 的压缩数据。有时,很难知道压缩后的 128 MB 数据手段。它会压缩 2 倍吗? 10倍?结果被压缩在 它们各自的列,这意味着压缩比往往非常 好的。例如,如果您有一列是一个国家的名称,那么 可能只有几个不同的值。当你只有几个不同的 值,这意味着没有很多唯一信息,并且该列 通常会很好地压缩。如果您 return 加密数据块,它们将 可能不会很好地压缩,因为它们大多是随机的。 (这在上面链接的书第 220 页上有解释)