Google bigquery Bigquery:获取表';所有数据集的大小

Google bigquery Bigquery:获取表';所有数据集的大小,google-bigquery,Google Bigquery,我有一个简单的查询,返回数据集中每个表的选项卡大小orders: SELECT table_id, TRUNC(size_bytes/1024/1024/1024/1024,2) size_tb, FROM orders.__TABLES__ 如果我希望对整个项目及其所有表运行此查询一次,我该怎么做? 我试图将最后一行从表更改为,但这是一个错误。我使用此Python脚本进行类似的调整(可能源于Stackoverflow) from google.cloud import bigquer

我有一个简单的查询,返回数据集中每个表的选项卡大小
orders

SELECT
  table_id,
  TRUNC(size_bytes/1024/1024/1024/1024,2) size_tb,
FROM orders.__TABLES__
如果我希望对整个项目及其所有表运行此查询一次,我该怎么做?
我试图将最后一行从表更改为
,但这是一个错误。

我使用此Python脚本进行类似的调整(可能源于Stackoverflow)

from google.cloud import bigquery

client = bigquery.Client()

datasets = list(client.list_datasets())
project = client.project

sizes = []

if datasets:
    print('Datasets in project {}:'.format(project))
    for dataset in datasets:  # API request(s)
        print('Dataset: {}'.format(dataset.dataset_id))

        query_job = client.query("select table_id, sum(size_bytes)/pow(10,9) as size from `"+dataset.dataset_id+"`.__TABLES__ group by 1")

        results = query_job.result()
        for row in results:
            print("\tTable: {} : {}".format(row.table_id, row.size))
            
            item = {
                'project': project,
                'dataset': dataset.dataset_id,
                'table': row.table_id,
                'size': row.size
            }
            sizes.append(item)

else:
    print('{} project does not contain any datasets.'.format(project))
这有用吗?