如何限制BigQuery获取的行数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何限制BigQuery获取的行数?相关的知识,希望对你有一定的参考价值。

我正在尝试使用firebase云功能从BigQuery表中获取一些数据到我的React前端。

我的桌子有14000多行,所以我不想同时把它们全部放进去,我更愿意一次发送一个大约100个左右的请求。

我看过这里的文档:https://cloud.google.com/bigquery/docs/managing-table-data#browse-table

但他们的解决方案似乎对返回的内容没有任何影响。

exports.getTableDataFromFrontEnd = functions.runWith(runtimeOpts).https.onCall((data, context) => {
  console.log('V23');

  let promise = new Promise(function(resolve, reject) {
    async function browseRows() {  

        // Create a client
        const bigqueryClient = new BigQuery();

        const datasetId = 'CSV_Upload';
        const tableId = 'Test_Table';

        //Limit the query to 100 rows (This is not working).
        const options = {
            limit: 100    
        };

        // List rows in the table
        const [rows] = await bigqueryClient
          .dataset(datasetId)
          .table(tableId)
          .getRows(options)

          resolve(rows) //This still has 14000+ rows.
      }
      browseRows();
    });    
    return promise;
  });
答案

我不确定你使用的是哪个库,但如果是这个库,那么选项的名称是maxResults,而不是limit

enter image description here

以上是关于如何限制BigQuery获取的行数?的主要内容,如果未能解决你的问题,请参考以下文章

BigQuery更新如何获取更新的行数

如何使用 BigQuery Streaming 获取插入的行数

如何使用 node.js 客户端库计算完成的 BigQuery 作业的行数

获取 BigQuery 表中的行数(流式缓冲区)

Google Bigquery 命令行返回限制

如何限制数据集中的行数