在BigQuery中,需要将数据存储在一个或多个区域中。BigQuery数据集可以跨多个区域分布,但每个数据集必须具有主区域。 BigQuery不会自动在不同的区域/地区复制数据。要复制数据,需要通过将数据集复制到另一个区域来手动进行。
以下是通过Python代码示例将BigQuery数据集复制到不同区域的步骤:
from google.cloud import bigquery
client = bigquery.Client()
dataset_id = 'my_dataset_name'
source_dataset = client.dataset(dataset_id)
job_config = bigquery.CopyJobConfig()
destination_dataset = bigquery.DatasetReference.from_string(
'my-project.my_dataset_name',
default_project=client.project
)
job = client.copy_dataset(
source_dataset,
destination_dataset,
job_config=job_config,
)
job.result() # Waits for the job to complete.
print('Dataset {} copied to {}.'.format(source_dataset.dataset_id, destination_dataset.dataset_id))
上述代码将BigQuery数据集 “my_dataset_name” 复制到一个名为“my_dataset_name”的新区域。复制数据集时,可以选择在源数据集之后保持完全同步,以便在所有区域中都具有相同的数据。