是否可以在不下载所有结果的情况下检索查询返回的总行数?例如,这是我当前正在做的事情:
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
。是否有另一种方法无需下载所有数据即可获取结果查询总数/结果查询集中的MB数量?
答案 0 :(得分:2)
任何查询的结果都存储在所谓的匿名表中。您可以使用jobs.get API检索对此表的引用。然后您可以使用tables.get API来检索有关该表的信息-特别是行和大小。例如,在python中:
>>> table = client.get_table(res.destination)
>>> print (table.num_rows, table.num_bytes)
168647 1451831