从 Teradata 迁移数据

结合使用 BigQuery Data Transfer Service 和特殊迁移代理,您可以将数据从 Teradata 本地数据仓库实例复制到 BigQuery。本文档介绍了使用 BigQuery Data Transfer Service 从 Teradata 迁移数据的分步过程。

准备工作

为了确保成功迁移 Teradata 数据仓库,必须满足下列前提条件。

Google Cloud 要求

  1. 选择或创建 Google Cloud 项目以存储迁移数据。您必须拥有 Google Cloud 项目的 owner 权限才能设置转移作业。

    • 在 Google Cloud Console 中,转到项目选择器页面。

      转到项目选择器页面

    • 选择或创建 Google Cloud 项目。

  2. 启用这些 Google Cloud API。

    控制台

    在 Cloud Console 中,点击以下两个页面中的启用按钮。

    新项目中会自动启用 BigQuery。对于现有项目,您可能需要启用 BigQuery API。

    示例:

    启用 API。

    绿色对勾标记表示您已启用了 API。

    已启用 API。

    gcloud

    您可以选择使用 gcloud 命令行工具启用 API。

    您可以在 Cloud Shell 中发出 gcloud 命令,也可以下载 gcloud 工具并将其安装到本地机器上,如下所示:

    输入以下 gcloud 命令:

    gcloud services enable bigquerydatatransfer.googleapis.com
    gcloud services enable storage-component.googleapis.com
    gcloud services enable pubsub.googleapis.com
    

    新项目中会自动启用 BigQuery。对于现有项目,还要启用 BigQuery API。

    gcloud services enable bigquery.googleapis.com
    
  3. 创建 BigQuery 数据集来存储数据。您不需要创建任何表。

  4. 创建 Identity and Access Management (IAM) 服务帐号。如需了解如何创建服务帐号,请参阅创建和管理服务帐号

  5. 向服务帐号授予以下 IAM 角色。请参阅向服务帐号授予角色

    • BigQuery:预定义的 IAM 角色 bigquery.admin
    • Cloud Storage:预定义的 IAM 角色 storage.objectAdmin
  6. 创建 Cloud Storage 存储分区以便暂存数据。您稍后将在迁移过程中使用此存储分区名称。

本地要求

  1. 本地机器要求
    • 迁移代理使用与 Teradata 实例和 Google Cloud API 的 JDBC 连接。确保网络访问不被防火墙阻止。
    • 确保已安装 Java Runtime Environment 8 或更高版本。
    • 确保您拥有暂存空间要求中所述建议的最小大小的存储空间。
  2. Teradata 连接详细信息
    • 对系统表和要迁移的表具有读取访问权限的用户的用户名和密码。
    • 用于连接到 Teradata 实例的主机名和端口号。
  3. 从 Teradata 下载所需的 JDBC 驱动程序:tdgssconfig.jar 和 terajdbc4.jar
  4. 下载您的 Google Cloud 凭据。

转移模式和选项

由于每次迁移都有各自特定的要求,您可以通过以下方式自定义迁移代理。设置从 Teradata 到 BigQuery 的数据转移作业时,有以下三项重要选择:

提取方法

BigQuery Data Transfer Service 支持两种不同的提取方法,使用这两种方法都可将数据从 Teradata 转移到 BigQuery:

  1. 搭配使用 JDBC 驱动程序和 FastExport 连接进行提取。在此模式下,系统会将表提取到位于本地文件系统上指定位置的一组 AVRO 文件中。提取的文件随后将上传到指定的 Cloud Storage 存储分区。成功转移后,系统会从本地文件系统中删除这些文件。
    • 本地文件系统中的空间量存在严格的强制限制,且在上传提取的文件到从本地文件系统删除这些文件期间,都将暂停提取作业。
    • 如果本地存储空间存在严格的限制或 TPT 不可用,请使用此提取方法。
    • 搭配使用 JDBC 驱动程序和 FastExport 是默认的提取方法。
  2. 使用 Teradata Parallel Transporter (TPT) tbuild 实用程序进行提取。在此模式下,代理会尝试使用按分区分布的数据行计算提取批次。对于每个批次,系统都会发出并执行一个 TPT 提取脚本,从而生成一组以竖线分隔的文件。每个批次提取完成后,会将文件上传到指定的 Cloud Storage 存储分区并从本地文件系统中删除这些文件。由于此方法对本地文件系统中的空间量没有强制施加限制,因此请确保本地文件系统的空间足以提取 Teradata 表中的最大分区。
    • 我们建议您使用 TPT 进行提取并自定义架构以指示分区列。因为此方式的数据提取速度最快。

如需详细了解如何指定提取方法,请参阅转移作业设置逐步说明中的迁移代理配置部分。

自定义架构文件

架构文件是描述数据库对象的 JSON 文件。架构包含一组数据库,每个数据库包含一组表,每个表包含一组数据列。每一列都具有一个类型字段 - BigQuery 中的一列分配一个类型。

在架构文件中,每个对象都具有一个名称字段 - BigQuery 中的一个对象分配一个名称。每个对象还具有一个 originalName 字段 - 与 Teradata 数据库中对象匹配的名称。

在从 Teradata 到 BigQuery 的数据转移期间,BigQuery Data Transfer Service 提供自动架构检测和数据转换。您也可以指定自定义架构文件。在某些情况下,我们强烈建议您自定义架构。示例:

  • 自定义架构文件尤其适用于包含表的额外信息(例如分区)。如果没有指定架构文件,此类信息可能会在迁移过程中丢失。
  • 您可以选择提供自定义架构文件,以便在数据转移期间进行字段转换(例如任何对象的名称字段或任何列的 usageType 数组)。
  • 如需了解详情,请参阅 Teradata 迁移详情和选项

按需转移或增量转移

将数据从 Teradata 数据库实例迁移到 BigQuery 时,BigQuery Data Transfer Service 既支持一次性快照数据转移(“按需转移”),也支持对新行和更新行的周期性定期转移(“增量转移”)(Beta 版)。您可以在设置转移作业时,于时间表选项中指定按需转移或增量转移。

  • 按需转移数据
    • 如果您的表非常大并且您可以使用 TPT 高性能数据提取方法,则建议您对 Teradata 表进行分区以便允许按分区进行提取。如需了解详情,请参阅 Teradata 迁移详情和选项
    • 如果您的表很小或者您无法使用 TPT,请按照基本说明操作。自定义架构并非必要操作。
  • 增量转移数据
    • 如果您希望定期从 Teradata 向 BigQuery 迁移更改,可以使用增量模式。系统会将 Teradata 中的新记录和更改的记录周期性地附加到 BigQuery 表中。
    • 此方法要求您自定义架构以为 COMMIT_TIMESTAMP 列添加注释。
    • 设置增量转移时,需要满足某些条件。如需了解详情,请参阅增量转移

设置 Teradata 迁移

本部分逐步介绍如何设置从 Teradata 到 BigQuery 的数据迁移。具体步骤包括:

  • 下载迁移代理。
  • 设置 BigQuery Data Transfer Service 转移作业。
  • 初始化迁移代理。
  • 运行迁移代理。

下载迁移代理

使用此链接将迁移代理下载到数据仓库所在的本地机器。

安装迁移代理后,您需要设置 BigQuery Data Transfer Service 转移作业,初始化迁移代理,然后运行代理以开始数据迁移。

设置转移作业

使用 BigQuery Data Transfer Service 创建转移作业。

控制台

  1. 在 Cloud Console 中,转到 BigQuery 页面。

    转到 BigQuery 页面

  2. 点击转移

  3. 点击创建转移作业

  4. 来源类型下:

    • 选择迁移:Teradata
    • 对于转移配置名称,请输入转移作业的显示名称,例如 My Migration。显示名可以是任何容易辨识的值,让您以后在需要修改转移作业时时能够轻松识别。
    • (可选)对于时间表选项,您可以保留默认值每天(基于创建时间)或选择其他时间。
    • 目标设置部分,选择相应的数据集。

      新的 Teradata 迁移一般信息。

  5. 数据源详细信息下,继续设置 Teradata 转移作业的特定详细信息。

    • 对于数据库类型,选择 Teradata
    • 对于 Cloud Storage 存储分区,请浏览 Cloud Storage 存储分区的名称以暂存迁移数据。请勿输入前缀 gs:// - 请仅输入存储分区名称。
    • 对于数据库名称,请输入 Teradata 中源数据库的名称。
    • 对于表名模式,请输入与源数据库中的表名匹配的模式。您可以使用正则表达式指定模式。此模式应遵循 Java 正则表达式语法。
    • 对于服务帐号电子邮件地址,输入附加到您创建的 IAM 服务帐号的电子邮件。
    • (可选)对于架构文件路径,请输入 JSON 架构文件的路径和文件名。如果未输入任何架构文件,BigQuery 将使用正在转移的来源数据自动检测表架构。您可以创建自己的架构文件,如以下屏幕快照示例所示,也可以使用迁移代理来帮助您创建架构文件。如需了解如何创建架构文件,请参阅初始化迁移代理部分。

      新的 Teradata 迁移

    • (可选)在通知选项部分,执行以下操作:

      • 点击切换开关以启用电子邮件通知。启用此选项后,转移作业管理员会在转移作业运行失败时收到电子邮件通知。
      • 选择 Pub/Sub 主题部分,选择您的主题名称,或点击创建主题。此选项用于为您的转移作业配置 Pub/Sub 运行通知

        Pub/Sub 主题

  6. 点击保存

  7. Cloud Console 会显示所有转移作业设置详细信息,包括此转移作业的资源名称。请记下此资源名称,因为稍后在运行迁移代理时需要输入该名称。

    转移作业确认

bq

输入 bq mk 命令并提供转移作业创建标志 --transfer_config。此外,还必须提供以下标志:

  • --data_source
  • --display_name
  • --target_dataset
  • --params
bq mk \
--transfer_config \
--project_id=project ID \
--target_dataset=dataset \
--display_name=name \
--params='parameters' \
--data_source=data source

其中:

  • project ID 是项目 ID。如果未提供 --project_id 来指定具体项目,则系统会使用默认项目。
  • dataset 是您要为转移作业配置指定的数据集 (--target_dataset)。
  • name 表示转移作业配置的显示名称 (--display_name)。转移作业的显示名可以是任何容易辨识的值,让您以后在需要修改时能够轻松识别。
  • parameters 包含所创建转移作业配置的参数 (--params),采用 JSON 格式,例如:--params='{"param":"param_value"}'
    • 对于 Teradata 迁移,以下参数是必需的:bucketdatabase_typeagent_service_accountdatabase_nametable_name_patterns
      • bucket 是将在迁移过程中充当暂存区域的 Cloud Storage 存储分区。
      • database_type 是 Teradata。
      • agent_service_account 是与您创建的服务帐号关联的电子邮件地址。
      • database_name 是 Teradata 中源数据库的名称。
      • table_name_patterns 是用于匹配源数据库中表名的模式。您可以使用正则表达式指定模式。此模式应遵循 Java 正则表达式语法。
  • data_source 是数据源 (--data_source):on_premises

例如,以下命令使用 Cloud Storage 存储分区 mybucket 和目标数据集 mydataset 创建名为 My Transfer 的 Teradata 转移作业。该转移作业将迁移 Teradata 数据仓库 mydatabase 中的所有表,并且可选架构文件为 myschemafile.json

bq mk \
--transfer_config \
--project_id=123456789876 \
--target_dataset=MyDataset \
--display_name='My Migration' \
--params='{"bucket": "mybucket", "database_type": "Teradata",
"database_name":"mydatabase", "table_name_patterns": ".*",
"agent_service_account":"myemail@mydomain.com", "schema_file_path":
"gs://mybucket/myschemafile.json"}' \
--data_source=on_premises

运行命令后,您会收到类似如下的消息:

[URL omitted] Please copy and paste the above URL into your web browser and follow the instructions to retrieve an authentication code.

请按照说明操作,并将身份验证代码粘贴到命令行中。

API

使用 projects.locations.transferConfigs.create 方法并提供一个 TransferConfig 资源实例。

Java

import com.google.api.gax.rpc.ApiException;
import com.google.cloud.bigquery.datatransfer.v1.CreateTransferConfigRequest;
import com.google.cloud.bigquery.datatransfer.v1.DataTransferServiceClient;
import com.google.cloud.bigquery.datatransfer.v1.ProjectName;
import com.google.cloud.bigquery.datatransfer.v1.TransferConfig;
import com.google.protobuf.Struct;
import com.google.protobuf.Value;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

// Sample to create a teradata transfer config.
public class CreateTeradataTransfer {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    final String projectId = "MY_PROJECT_ID";
    String datasetId = "MY_DATASET_ID";
    String databaseType = "Teradata";
    String bucket = "cloud-sample-data";
    String databaseName = "MY_DATABASE_NAME";
    String tableNamePatterns = "*";
    String serviceAccount = "MY_SERVICE_ACCOUNT";
    String schemaFilePath = "/your-schema-path";
    Map<String, Value> params = new HashMap<>();
    params.put("database_type", Value.newBuilder().setStringValue(databaseType).build());
    params.put("bucket", Value.newBuilder().setStringValue(bucket).build());
    params.put("database_name", Value.newBuilder().setStringValue(databaseName).build());
    params.put("table_name_patterns", Value.newBuilder().setStringValue(tableNamePatterns).build());
    params.put("agent_service_account", Value.newBuilder().setStringValue(serviceAccount).build());
    params.put("schema_file_path", Value.newBuilder().setStringValue(schemaFilePath).build());
    TransferConfig transferConfig =
        TransferConfig.newBuilder()
            .setDestinationDatasetId(datasetId)
            .setDisplayName("Your Teradata Config Name")
            .setDataSourceId("on_premises")
            .setParams(Struct.newBuilder().putAllFields(params).build())
            .setSchedule("every 24 hours")
            .build();
    createTeradataTransfer(projectId, transferConfig);
  }

  public static void createTeradataTransfer(String projectId, TransferConfig transferConfig)
      throws IOException {
    try (DataTransferServiceClient client = DataTransferServiceClient.create()) {
      ProjectName parent = ProjectName.of(projectId);
      CreateTransferConfigRequest request =
          CreateTransferConfigRequest.newBuilder()
              .setParent(parent.toString())
              .setTransferConfig(transferConfig)
              .build();
      TransferConfig config = client.createTransferConfig(request);
      System.out.println("Cloud teradata transfer created successfully :" + config.getName());
    } catch (ApiException ex) {
      System.out.print("Cloud teradata transfer was not created." + ex.toString());
    }
  }
}

迁移代理

您可以选择直接通过迁移代理在初始化迁移代理部分中创建转移作业。

如需从迁移代理创建转移作业,首先需要向您创建的服务帐号授予 IAM 角色 serviceAccessTokenCreator

您可以通过以下两种方式之一授予 IAM 角色:

  • 在 Cloud Console 中,授予以下 IAM 角色:Service Account Token Creator。请参阅向服务帐号授予角色

  • 您可以在 Cloud Shellgcloud 命令行工具中发出以下 gcloud 命令:

gcloud projects add-iam-policy-binding user_project_id \
--member='serviceAccount:service-user_project_number@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com' \
--role='roles/iam.serviceAccountTokenCreator'

向服务帐号授予 serviceAccessTokenCreator 权限后,您可以继续下载迁移代理,然后在初始化步骤中设置转移作业。

初始化迁移代理

首次启动数据迁移时,请初始化迁移代理。每次设置迁移转移作业时(无论是否为定期作业),都只需要进行一次初始化。

此会话不会启动迁移;仅用于初始配置。

  1. 打开一个新会话。在命令行上,发出命令以运行 jar 文件,并带有一些特定的标志,形式如下:

    java -cp \
    OS-specific-separated-paths-to-jars (JDBC and agent) \
    com.google.cloud.bigquery.dms.Agent \
    --initialize
    

    Unix、Linux、MacOS

    java -cp \
    /usr/local/migration/Teradata/JDBC/tdgssconfig.jar:/usr/local/migration/Teradata/JDBC/terajdbc4.jar:/usr/local/migration/mirroring-agent.jar \
    com.google.cloud.bigquery.dms.Agent \
    --initialize
    

    Windows

    将所有文件复制到 C:\migration 文件夹中(或调整命令中的路径),然后运行:

    java -cp C:\migration\tdgssconfig.jar;C:\migration\terajdbc4.jar;C:\migration\mirroring-agent.jar com.google.cloud.bigquery.dms.Agent --initialize
    
  2. 出现提示时,输入以下参数:

    • 是否要将 Teradata Parallel Transporter (TPT) 模板保存到磁盘。如果计划使用 TPT 提取方法,则可以使用适合 Teradata 实例的参数修改保存的模板。
    • 源数据库的 URI。如果需要,请添加端口号。
    • 用于迁移的本地暂存空间的路径。确保您拥有暂存空间要求中所建议的最小大小的存储空间。
    • 是否使用 Teradata Parallel Transporter (TPT) 作为提取方法。
    • (可选)数据库凭据文件的路径。
  3. 当系统提示您输入 BigQuery Data Transfer Service 资源名称时:

    您可以输入在 Cloud Console 中配置的转移作业的资源名称,此时也可以通过迁移代理本身创建转移作业。(可选)您可以使用迁移代理初始化命令来创建架构文件。请参阅下面的迁移代理标签页以获取此选项。

    控制台

    设置转移作业部分的“控制台”标签页中输入您之前设置的转移作业的资源名称

    迁移代理

    • 输入 Google Cloud 项目 ID。
    • 输入 Teradata 中源数据库的名称。
    • 输入与源数据库中的表名匹配的模式。您可以使用正则表达式指定模式。此模式应遵循 Java 正则表达式语法。
    • 可选:输入本地 JSON 架构文件的路径(建议用于周期性转移)。此架构文件将上传到您的 Cloud Storage 存储分区。
      • 选择创建新架构文件。在这种情况下,系统会提示您输入 Teradata 用户名和密码,代理将生成一个采用转换后架构的 JSON 文件。系统将按照以下格式在本地文件夹中创建文件:<localpath>/schema/DO_NOT_REMOVE_td2bq_table_schemas_<string>.json。上传到 Cloud Storage 存储分区后,路径和文件名将遵循此模式:gs://mybucket/myproject_id/schema/DO_NOT_REMOVE_td2bq_table_schemas_<string>.json
      • 修改架构文件以标记分区、聚类、主键和更改跟踪列,并验证您是否希望将此架构用于转移作业配置。如需获取提示,请参阅自定义架构文件部分。
    • 输入 BigQuery 中目标数据集的名称。
    • 输入 Cloud Storage 存储分区的名称,迁移数据将在加载到 BigQuery 之前暂存在该存储分区中。
    • 输入转移作业配置的名称。
  4. 输入所有请求的参数后,迁移代理将创建一个配置文件,并将其放入参数中所提供的本地路径中。如需详细了解配置文件,请参阅下一部分。

迁移代理的配置文件

在初始化步骤中创建的配置文件将类似于以下示例:


   {
    "agent-id": "0eebc1ad-621d-4386-87f1-8eca96991f63",
    "transfer-configuration": {
      "project-id": "123456789876",
      "location": "us",
      "id": "5d533a90-0000-2e89-89a0-94eb2c059a76"
    },
    "source-type": "teradata",
    "console-log": false,
    "silent": false,
    "teradata-config": {
      "connection": {
       "host": "localhost"
      },
      "local-processing-space": "extracted",
      "database-credentials-file-path": "",
      "max-local-storage": "200GB",
      "use-tpt": false,
      "max-sessions": 0,
      "max-parallel-upload": 1,
      "max-unload-file-size": "2GB"
     }
   }
   

迁移代理配置文件的所有选项

  • transfer-configuration:有关 BigQuery Data Transfer Service 中此转移作业配置的信息。
  • teradata-config:特定于此 Teradata 提取的信息:

    • connection:主机名和端口的相关信息
    • local-processing-space:代理将表数据提取到的提取文件夹,后面会再将其上传到 Cloud Storage。
    • database-credentials-file-path(可选)包含自动连接到 Teradata 数据库的凭据的文件路径。该文件应包含两行,例如:
      username=abc
      password=123
      
      使用凭据文件时,请注意控制对本地文件系统上存储该文件的文件夹的访问权限,因为它不会被加密。如果未提供路径,则启动代理时系统将提示您输入用户名和密码。
    • max-local-storage:在指定暂存目录中用于提取的本地存储空间上限。默认值为 200GB。支持的格式为:numberKB|MB|GB|TB

      在所有提取模式中,文件在上传到 Cloud Storage 后都会从本地暂存目录中删除。

      所需的实际暂存空间量取决于提取方法:

      • 在默认提取方法(带 FastExport 的 JDBC 驱动程序)中,系统会写入小块数据并将其不断上传到您指定的 Cloud Storage 存储分区。当达到指定的 max_local_storage 限制时,提取会暂停。
      • 在采用 Teradata Parallel Transporter (TPT) 提取且没有分区列时,将提取整个表,而不考虑 max_local_storage 设置。
      • 在采用 Teradata Parallel Transporter (TPT) 提取且具有分区列时,代理将提取分区集。暂存存储空间要求不超过 max_local_storage 或表的最大分区(提取为 CSV 格式)的大小的较大者。
    • use-tpt:指示迁移代理使用 Teradata Parallel Transporter (TPT) 作为提取方法。

      对于每个表,迁移代理都会生成 TPT 脚本、启动 tbuild 进程并等待完成。tbuild 进程完成后,代理会列出提取的文件并将其上传到 Cloud Storage,然后删除 TPT 脚本。

      如需使用 TPT 提取方法:

      • tbuild 实用程序应该已安装完毕,可供迁移代理使用并启动 tbuild 进程。
      • 本地提取文件夹应具有足够的空间可提取 CSV 格式的最大表的分区。由于格式设置问题,CSV 文件将大于 Teradata 中原始表的大小。
    • max-sessions:指定导出作业(FastExport 或 TPT)使用的会话数上限。如果设置为 0,则 Teradata 数据库将会决定每个导出作业的会话数上限。

    • max-parallel-uploads:确定并行上传到 Cloud Storage 的文件数。根据您的网络带宽和其他设置(例如 DLP 扫描),增加此参数可以提高性能。

    • max-unload-file-size:决定提取的最大文件大小。不强制 TPT 提取使用此参数。

运行迁移代理

初始化迁移代理并创建配置文件后,请使用以下步骤来运行代理并开始迁移:

  1. 使用 JDBC 驱动程序的类路径和上一个初始化步骤中创建的配置文件的路径开始运行代理。

    java -cp \
    OS-specific-separated-paths-to-jars (JDBC and agent) \
    com.google.cloud.bigquery.dms.Agent \
    --configuration-file=path to configuration file
    

    Unix、Linux、MacOS

    java -cp \
    /usr/local/migration/Teradata/JDBC/tdgssconfig.jar:/usr/local/migration/Teradata/JDBC/terajdbc4.jar:mirroring-agent.jar \
    com.google.cloud.bigquery.dms.Agent \
    --configuration-file=config.json
    

    Windows

    将所有文件复制到 C:\migration 文件夹中(或调整命令中的路径),然后运行:

    java -cp C:\migration\tdgssconfig.jar;C:\migration\terajdbc4.jar;C:\migration\mirroring-agent.jar com.google.cloud.bigquery.dms.Agent --configuration-file=config.json
    

    如果您已准备好继续迁移,请按 Enter 键,代理会在初始化期间提供的类路径有效时继续运行。

  2. 出现提示时,输入用于数据库连接的用户名和密码。如果用户名和密码有效,则数据迁移便会开始。

    可选:在开始迁移的命令中,您也可以使用将凭据文件传递给代理的标志,而不是每次都输入用户名和密码。如需了解详情,请参阅代理配置文件中的可选参数 database-credentials-file-path。使用凭据文件时,请采取适当的步骤来控制对本地文件系统上存储该文件的文件夹的访问,因为它不会被加密。

  3. 保持此会话的打开状态,直到迁移完成。如果您创建了定期迁移转移作业,请无限期保持此会话的打开状态。如果此会话中断,则当前和将来的转移作业运行将会失败。

  4. 定期监控代理是否正在运行。如果转移作业运行正在进行,并且代理在 24 小时内没有响应,则转移作业运行将会失败。

  5. 如果在进行或安排转移作业时迁移代理终止,则 Cloud Console 会显示错误状态并提示您重启代理。如需重新启动迁移代理,请从本部分开始运行迁移代理,并使用命令来运行迁移代理。您无需重复执行初始化命令。转移作业将从表未完成的位置恢复运行。

跟踪迁移的进度

您可以在 Cloud Console 中查看迁移状态。您还可以设置 Pub/Sub 或电子邮件通知。请参阅 BigQuery Data Transfer Service 通知

BigQuery Data Transfer Service 会根据在创建转移作业配置时指定的时间表来计划和启动转移作业运行。当转移作业运行处于有效状态时,请务必确保迁移代理正在运行。如果代理在 24 小时内没有更新,则转移作业运行将失败。

Cloud Console 中的迁移状态示例:

迁移状态

升级迁移代理

如果提供了新版本的迁移代理,则需要手动更新迁移代理。如需接收有关 BigQuery Data Transfer Service 的通知,请订阅版本说明

后续步骤