Найдите код Python для копирования таблицы здесь:
Код:
# from google.cloud import bigquery
# client = bigquery.Client()
source_dataset = client.dataset("samples", project="bigquery-public-data")
source_table_ref = source_dataset.table("shakespeare")
# dataset_id = 'my_dataset'
dest_table_ref = client.dataset(dataset_id).table("destination_table")
job = client.copy_table(
source_table_ref,
dest_table_ref,
# Location must match that of the source and destination tables.
location="US",
) # API request
job.result() # Waits for job to complete.
assert job.state == "DONE"
dest_table = client.get_table(dest_table_ref) # API request
assert dest_table.num_rows > 0
Есть еще один ответ натот вопрос, который показывает, что вы можете сделать это с INSERT INTO *
, но эта операция обойдется в полную проверку таблицы - по сравнению с бесплатной.
(я обычно использую CREATE TABLE
или INSERT INTO
, потому что они более удобны, хотя)