Как получить numRows, resultSize из запроса в BigQuery - PullRequest
0 голосов
/ 24 мая 2019

Можно ли получить общее количество строк, возвращенных запросом, без загрузки всех результатов?Например, вот что я сейчас делаю:

client = bigquery.Client()
res = client.query("SELECT funding_round_type FROM `investments`")
results = res.result()

>>> results.num_results
0
>>> records = [_ for _ in results]
>>> results.num_results
168647

Другими словами, без загрузки результатов я не могу получить numResults.Есть ли другой способ получить общее количество результатов / количество МБ в результирующем наборе запросов, не загружая все данные?

1 Ответ

2 голосов
/ 24 мая 2019

Результат любого запроса сохраняется в так называемой анонимной таблице. Вы можете получить ссылку на эту таблицу, используя jobs.get API . и затем вы можете использовать tables.get API для получения информации об этой таблице - в частности, о строках и размере. Например, в Python:

>>> table = client.get_table(res.destination)
>>> print (table.num_rows, table.num_bytes)
168647 1451831
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...