Хотя в документации указано, что вы можете удалять только одну таблицу за раз, можно сделать запрос API со сценарием Python, чтобы удалить все таблицы внутри набор данных.
Я создал и протестировал следующий скрипт:
from google.cloud import bigquery
#construct BigQuery client object
client = bigquery.Client()
#select your dataset and list the tables within it
dataset_id='test-proj-261014.demos'
tables = client.list_tables(dataset_id)
#inititalizing the list of tables
list_tables=[]
for table in tables:
#Create a list with the able reference for deletion 'project.dataset_id.table_id'
id =".".join([table.project,table.dataset_id,table.table_id])
list_tables.append(id)
#List of tables
print(list_tables)
#Delete all the tables inside the list of tables
for table in list_tables:
#print(table)
client.delete_table(table)
print("{} {}".format("Number of deleted tables in the dataset:", len(list_tables)))
Я выполнил приведенный выше код, используя Jupyter Notebook с Python 3. Если вы запускаете его в среде облачной оболочки, сделайте обязательно установите все зависимости pip install --upgrade google-cloud-bigquery
.