0
0

BigQuery内のテーブルなどを一覧化する

Last updated at Posted at 2023-10-12

概要

BigQueryでプロジェクト内のテーブルやudfなどをリストとしてまとめたかったのだが、意外と方法についてまとまっている情報がなかったのでtsvで出力するスクリプトを作成した。

やり方

INFORMATION_SCHEMAを使うことで、プロジェクトに対するデータセット、データセットに対するテーブルやルーティンが取得できるが、残念ながらプロジェクトから各テーブルを参照することができないので、pythonでスクリプトを作成した。

一覧取得
from google.cloud import bigquery

client = bigquery.Client()

for project in client.list_projects():
    for dataset in client.list_datasets(project.project_id):
        for routine in client.list_routines(dataset):
            print("\t".join([project.project_id, dataset.dataset_id, routine.routine_id, routine.type_]))
        for table in client.list_tables(dataset):
            print("\t".join([project.project_id, dataset.dataset_id, table.table_id, table.table_type]))

client作成時に指定する認証情報に基づいて、アクセスできるプロジェクトに対して全てのテーブルやルーティンを出すことができる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0