Как ограничить количество строк, которые получает BigQuery? - PullRequest
1 голос
/ 30 апреля 2019

Я пытаюсь получить некоторые данные из таблицы BigQuery в мой интерфейс React с помощью облачной функции Firebase.

В моей таблице более 14 000 строк, поэтому я не хочу переносить их всев то же время, я бы предпочел отправить запрос, чтобы получить 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;
  });

1 Ответ

2 голосов
/ 30 апреля 2019

Я не уверен, какую библиотеку вы используете, но если это эта библиотека, то название опции будет maxResults, а не limit.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...