安排 Snowflake 转移

借助 BigQuery Data Transfer Service 提供的 Snowflake 连接器,您可以安排和管理自动传输作业,以使用公共 IP 许可名单将数据从 Snowflake 迁移到 BigQuery。

概览

Snowflake 连接器会使用 Google Kubernetes Engine 中的迁移代理,并触发从 Snowflake 到托管 Snowflake 的同一云服务提供商内的暂存区域的加载操作。对于 AWS 托管的 Snowflake 账号,系统会先将数据暂存到您的 Amazon S3 存储桶中,然后再使用 BigQuery Data Transfer Service 将数据传输到 BigQuery。

下图显示了如何将数据从 AWS 托管的 Snowflake 数据仓库传输到 BigQuery。

从 Snowflake 迁移到 BigQuery 期间的数据流。

限制

使用 Snowflake 连接器进行的数据传输受到以下限制:

  • 仅支持从托管在 AWS 上的 Snowflake 账号进行数据传输。不支持从托管在 Google Cloud 或 Microsoft Azure 上的 Snowflake 账号转移数据。
  • Snowflake 连接器不支持增量数据传输。
  • Snowflake 连接器仅支持从单个 Snowflake 数据库和架构中的表进行传输。如需从包含多个 Snowflake 数据库或架构的表中进行转移,您可以单独设置每个转移作业。
  • 从 Snowflake 加载到 Amazon S3 存储桶的数据速度取决于您为此转移选择的 Snowflake 数据仓库。
  • 系统会先以 Parquet 数据格式从 Snowflake 中提取数据,然后再将其加载到 BigQuery 中:

    • 不支持以下 Parquet 数据类型:
    • 以下 Parquet 数据类型不受支持,但可以转换:

      • TIMESTAMP_NTZ

      生成元数据并运行翻译引擎时,使用全局类型转换配置 YAML 替换将 DATETIME 转换为 TIMESTAMP 的默认行为。

      配置 YAML 可能如下所示:

      type: experimental_object_rewriter
      global:
        typeConvert:
          datetime: TIMESTAMP
      

准备工作

在设置 Snowflake 传输之前,您必须执行本部分中列出的所有步骤。以下是所有必需步骤的列表。

  1. 准备 Google Cloud 项目
  2. 所需的 BigQuery 角色
  3. 准备 Amazon S3 存储桶
  4. 创建具有所需权限的 Snowflake 用户
  5. 添加网络政策
  6. 生成元数据并运行翻译引擎
  7. 评估您的 Snowflake 是否存在任何不受支持的数据类型
  8. 收集转移信息

准备 Google Cloud 项目

按照以下步骤创建和配置 Google Cloud 用于 Snowflake 传输的项目:

  1. 创建 Google Cloud 项目或选择现有项目。

  2. 验证您是否已完成启用 BigQuery Data Transfer Service 所需的所有操作。

  3. 创建 BigQuery 数据集来存储数据。您无需创建任何表。

所需 BigQuery 角色

如需获得创建转移作业所需的权限,请让管理员向您授予 BigQuery Admin (roles/bigquery.admin) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

此预定义角色可提供创建转移作业所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

创建转移作业需要以下权限:

  • 创建转移配置的用户账号或服务账号上的 bigquery.transfers.update
  • 创建转移配置的用户账号或服务账号上的 bigquery.datasets.get
  • 创建转移配置的用户账号或服务账号上的 bigquery.datasets.update

您也可以使用自定义角色或其他预定义角色来获取这些权限。

准备 Amazon S3 存储桶

若要完成 Snowflake 数据传输,您必须创建一个 Amazon S3 存储桶,然后将其配置为允许从 Snowflake 写入。

  1. 创建 Amazon S3 存储桶。Amazon S3 存储桶用于在将数据加载到 BigQuery 之前对其进行暂存。

  2. 创建和配置 Snowflake 存储集成对象,以允许 Snowflake 将数据作为外部阶段写入 Amazon S3 存储桶。

如需允许对 Amazon S3 存储桶进行读取访问,您还必须执行以下操作:

  1. 创建一个专用的 Amazon IAM 用户,并向其授予 AmazonS3ReadOnlyAccess 政策。

  2. 为 IAM 用户创建 Amazon 访问密钥对

创建具有所需权限的 Snowflake 用户

在 Snowflake 转移期间,Snowflake 连接器会使用 JDBC 连接连接到您的 Snowflake 账号。您必须创建一个新的 Snowflake 用户,并为其分配一个自定义角色,该角色仅具有执行数据传输所需的权限:

  // Create and configure new role, MIGRATION_ROLE
  GRANT USAGE
    ON WAREHOUSE WAREHOUSE_NAME
    TO ROLE MIGRATION_ROLE;

  GRANT USAGE
    ON DATABASE DATABASE_NAME
    TO ROLE MIGRATION_ROLE;

  GRANT USAGE
    ON SCHEMA DATABASE_NAME.SCHEMA_NAME
    TO ROLE MIGRATION_ROLE;

  // You can modify this to give select permissions for all tables in a schema
  GRANT SELECT
    ON TABLE DATABASE_NAME.SCHEMA_NAME.TABLE_NAME
    TO ROLE MIGRATION_ROLE;

  GRANT USAGE
    ON STORAGE_INTEGRATION_OBJECT_NAME
    TO ROLE MIGRATION_ROLE;

替换以下内容:

  • MIGRATION_ROLE:您要创建的自定义角色的名称
  • WAREHOUSE_NAME:数据仓库的名称
  • DATABASE_NAME:您的 Snowflake 数据库的名称
  • SCHEMA_NAME:您的 Snowflake 架构的名称
  • TABLE_NAME:此数据传输中包含的 Snowflake 的名称
  • STORAGE_INTEGRATION_OBJECT_NAME:您的 Snowflake 存储空间集成对象的名称。

添加广告资源网政策

对于公共连接,Snowflake 账号默认允许使用数据库凭据进行公共连接。不过,您可能配置了网络规则或政策,这些规则或政策可能会阻止 Snowflake 连接器连接到您的账号。在这种情况下,您必须将必要的 IP 地址添加到许可名单中。

下表列出了用于公开转移的区域性和多区域位置的 IP 地址。您可以添加仅与数据集位置对应的 IP 地址,也可以添加表格中列出的所有 IP 地址。这些是 Google 为 BigQuery Data Transfer Service 数据传输预留的 IP 地址。

如需将 IP 地址添加到许可名单,请执行以下操作:

  1. 创建网络规则,其中 type = IPV4。BigQuery Data Transfer Service 使用 JDBC 连接连接到 Snowflake 账号。
  2. 使用您之前创建的网络规则和下表中的 IP 地址创建网络政策

单区域位置

区域说明 区域名称 IP 地址
美洲
俄亥俄州,哥伦布 us-east5 34.162.72.184
34.162.173.185
34.162.205.205
34.162.81.45
34.162.182.149
34.162.59.92
34.162.157.190
34.162.191.145
达拉斯 us-south1 34.174.172.89
34.174.40.67
34.174.5.11
34.174.96.109
34.174.148.99
34.174.176.19
34.174.253.135
34.174.129.163
艾奥瓦 us-central1 34.121.70.114
34.71.81.17
34.122.223.84
34.121.145.212
35.232.1.105
35.202.145.227
35.226.82.216
35.225.241.102
拉斯维加斯 us-west4 34.125.53.201
34.125.69.174
34.125.159.85
34.125.152.1
34.125.195.166
34.125.50.249
34.125.68.55
34.125.91.116
洛杉矶 us-west2 35.236.59.167
34.94.132.139
34.94.207.21
34.94.81.187
34.94.88.122
35.235.101.187
34.94.238.66
34.94.195.77
墨西哥 northamerica-south1 34.51.6.35
34.51.7.113
34.51.12.83
34.51.10.94
34.51.11.219
34.51.11.52
34.51.2.114
34.51.15.251
蒙特利尔 northamerica-northeast1 34.95.20.253
35.203.31.219
34.95.22.233
34.95.27.99
35.203.12.23
35.203.39.46
35.203.116.49
35.203.104.223
北弗吉尼亚 us-east4 35.245.95.250
35.245.126.228
35.236.225.172
35.245.86.140
35.199.31.35
35.199.19.115
35.230.167.48
35.245.128.132
35.245.111.126
35.236.209.21
俄勒冈 us-west1 35.197.117.207
35.199.178.12
35.197.86.233
34.82.155.140
35.247.28.48
35.247.31.246
35.247.106.13
34.105.85.54
盐湖城 us-west3 34.106.37.58
34.106.85.113
34.106.28.153
34.106.64.121
34.106.246.131
34.106.56.150
34.106.41.31
34.106.182.92
圣保罗 southamerica-east1 35.199.88.228
34.95.169.140
35.198.53.30
34.95.144.215
35.247.250.120
35.247.255.158
34.95.231.121
35.198.8.157
圣地亚哥 southamerica-west1 34.176.188.48
34.176.38.192
34.176.205.134
34.176.102.161
34.176.197.198
34.176.223.236
34.176.47.188
34.176.14.80
南��罗来纳 us-east1 35.196.207.183
35.237.231.98
104.196.102.222
35.231.13.201
34.75.129.215
34.75.127.9
35.229.36.137
35.237.91.139
多伦多 northamerica-northeast2 34.124.116.108
34.124.116.107
34.124.116.102
34.124.116.80
34.124.116.72
34.124.116.85
34.124.116.20
34.124.116.68
欧洲
比利时 europe-west1 35.240.36.149
35.205.171.56
34.76.234.4
35.205.38.234
34.77.237.73
35.195.107.238
35.195.52.87
34.76.102.189
柏林 europe-west10 34.32.28.80
34.32.31.206
34.32.19.49
34.32.33.71
34.32.15.174
34.32.23.7
34.32.1.208
34.32.8.3
芬兰 europe-north1 35.228.35.94
35.228.183.156
35.228.211.18
35.228.146.84
35.228.103.114
35.228.53.184
35.228.203.85
35.228.183.138
法兰克福 europe-west3 35.246.153.144
35.198.80.78
35.246.181.106
35.246.211.135
34.89.165.108
35.198.68.187
35.242.223.6
34.89.137.180
伦敦 europe-west2 35.189.119.113
35.189.101.107
35.189.69.131
35.197.205.93
35.189.121.178
35.189.121.41
35.189.85.30
35.197.195.192
马德里 europe-southwest1 34.175.99.115
34.175.186.237
34.175.39.130
34.175.135.49
34.175.1.49
34.175.95.94
34.175.102.118
34.175.166.114
米兰 europe-west8 34.154.183.149
34.154.40.104
34.154.59.51
34.154.86.2
34.154.182.20
34.154.127.144
34.154.201.251
34.154.0.104
荷兰 europe-west4 35.204.237.173
35.204.18.163
34.91.86.224
34.90.184.136
34.91.115.67
34.90.218.6
34.91.147.143
34.91.253.1
巴黎 europe-west9 34.163.76.229
34.163.153.68
34.155.181.30
34.155.85.234
34.155.230.192
34.155.175.220
34.163.68.177
34.163.157.151
斯德哥尔摩 europe-north2 34.51.133.48
34.51.136.177
34.51.128.140
34.51.141.252
34.51.139.127
34.51.142.55
34.51.134.218
34.51.138.9
都灵 europe-west12 34.17.15.186
34.17.44.123
34.17.41.160
34.17.47.82
34.17.43.109
34.17.38.236
34.17.34.223
34.17.16.47
华沙 europe-central2 34.118.72.8
34.118.45.245
34.118.69.169
34.116.244.189
34.116.170.150
34.118.97.148
34.116.148.164
34.116.168.127
苏黎世 europe-west6 34.65.205.160
34.65.121.140
34.65.196.143
34.65.9.133
34.65.156.193
34.65.216.124
34.65.233.83
34.65.168.250
亚太地区
德里 asia-south2 34.126.212.96
34.126.212.85
34.126.208.224
34.126.212.94
34.126.208.226
34.126.212.232
34.126.212.93
34.126.212.206
香港 asia-east2 34.92.245.180
35.241.116.105
35.220.240.216
35.220.188.244
34.92.196.78
34.92.165.209
35.220.193.228
34.96.153.178
雅加达 asia-southeast2 34.101.79.105
34.101.129.32
34.101.244.197
34.101.100.180
34.101.109.205
34.101.185.189
34.101.179.27
34.101.197.251
墨尔本 australia-southeast2 34.126.196.95
34.126.196.106
34.126.196.126
34.126.196.96
34.126.196.112
34.126.196.99
34.126.196.76
34.126.196.68
孟买 asia-south1 34.93.67.112
35.244.0.1
35.200.245.13
35.200.203.161
34.93.209.130
34.93.120.224
35.244.10.12
35.200.186.100
大阪 asia-northeast2 34.97.94.51
34.97.118.176
34.97.63.76
34.97.159.156
34.97.113.218
34.97.4.108
34.97.119.140
34.97.30.191
首尔 asia-northeast3 34.64.152.215
34.64.140.241
34.64.133.199
34.64.174.192
34.64.145.219
34.64.136.56
34.64.247.158
34.64.135.220
新加坡 asia-southeast1 34.87.12.235
34.87.63.5
34.87.91.51
35.198.197.191
35.240.253.175
35.247.165.193
35.247.181.82
35.247.189.103
悉尼 australia-southeast1 35.189.33.150
35.189.38.5
35.189.29.88
35.189.22.179
35.189.20.163
35.189.29.83
35.189.31.141
35.189.14.219
台湾 asia-east1 35.221.201.20
35.194.177.253
34.80.17.79
34.80.178.20
34.80.174.198
35.201.132.11
35.201.223.177
35.229.251.28
35.185.155.147
35.194.232.172
东京 asia-northeast1 34.85.11.246
34.85.30.58
34.85.8.125
34.85.38.59
34.85.31.67
34.85.36.143
34.85.32.222
34.85.18.128
34.85.23.202
34.85.35.192
中东
达曼 me-central2 34.166.20.177
34.166.10.104
34.166.21.128
34.166.19.184
34.166.20.83
34.166.18.138
34.166.18.48
34.166.23.171
多哈 me-central1 34.18.48.121
34.18.25.208
34.18.38.183
34.18.33.25
34.18.21.203
34.18.21.80
34.18.36.126
34.18.23.252
特拉维夫 me-west1 34.165.184.115
34.165.110.74
34.165.174.16
34.165.28.235
34.165.170.172
34.165.187.98
34.165.85.64
34.165.245.97
非洲
约翰内斯堡 africa-south1 34.35.11.24
34.35.10.66
34.35.8.32
34.35.3.248
34.35.2.113
34.35.5.61
34.35.7.53
34.35.3.17

多区域位置

多区域说明 多区域名称 IP 地址
欧盟成员国的数据中心1 EU 34.76.156.158
34.76.156.172
34.76.136.146
34.76.1.29
34.76.156.232
34.76.156.81
34.76.156.246
34.76.102.206
34.76.129.246
34.76.121.168
美国的数据中心 US 35.185.196.212
35.197.102.120
35.185.224.10
35.185.228.170
35.197.5.235
35.185.206.139
35.197.67.234
35.197.38.65
35.185.202.229
35.185.200.120

1 位于 EU 多区域的数据不会存储在 europe-west2(伦敦)或 europe-west6(苏黎世)数据中心中。

生成元数据并运行翻译引擎

将 Snowflake 表迁移到 BigQuery 时,适用于 Snowflake 的 BigQuery Data Transfer Service 连接器会使用 BigQuery 迁移服务转换引擎进行架构映射。如需完成 Snowflake 数据传输,您必须先生成要转换的元数据,然后运行转换引擎:

  1. 运行适用于 Snowflake 的 dwh-migration-tool。如需了解详情,请参阅生成元数据以进行转换和评估
  2. 将生成的 metadata.zip 文件上传到 Cloud Storage 存储桶。metadata.zip 文件将用作翻译引擎的输入。
  3. 运行批量翻译服务,将 target_types 字段指定为 dts-mapping。如需了解详情,请参阅使用 Translation API 翻译 SQL 查询
    • 以下是用于为 Snowflake 运行批量翻译的命令示例:
      curl -d "{
      "name": "sf_2_bq_translation",
      "displayName": "Snowflake to BigQuery Translation",
      "tasks": {
        string: {
          "type": "Snowflake2BigQuery_Translation",
          "translation_details": {
              "target_base_uri": "gs://sf_test_translation/output",
              "source_target_mapping": {
                "source_spec": {
                    "base_uri": "gs://sf_test_translation/input"
                }
              },
              "target_types": "dts-mapping",
          }
        }
      },
      }" 
      -H "Content-Type:application/json"
      -H "Authorization: Bearer TOKEN" -X POST https://bigquerymigration.googleapis.com/v2alpha/projects/project_id/locations/location/workflows
    • 您可以在 BigQuery 的 SQL 转换页面中查看此命令的状态。批量翻译作业的输出存储在 gs://translation_target_base_uri/dts/config/ 中。

所需的服务账号权限

在 Snowflake 传输中,服务账号用于从指定 Cloud Storage 路径中的翻译引擎输出中读取数据。您必须向服务账号授予 storage.objects.getstorage.objects.list 权限。

如果服务账号来自与创建 BigQuery 数据传输的项目不同的项目, Google Cloud 则您还必须启用跨项目服务账号

如需了解详情,请参阅 BigQuery IAM 角色和权限

评估 Snowflake 数据

BigQuery 会将数据从 Snowflake 写入 Cloud Storage 作为 Parquet 文件。Parquet 文件不支持 TIMESTAMP_TZTIMESTAMP_LTZ 数据类型。如果您的数据包含这些类型,您可以将其作为 CSV 文件导出到 Amazon S3,然后将 CSV 文件导入 BigQuery。如需了解详情,请参阅 Amazon S3 转移作业概览

收集转移信息

收集使用 BigQuery Data Transfer Service 设置迁移���需的信息:

设置 Snowflake 转移

从下列选项中选择一项:

控制台

  1. 前往 Google Cloud 控制台中的“数据传输”页面。

    转到“数据传输”

  2. 点击 创建转移作业

  3. 来源类型部分中,从来源列表中选择 Snowflake Migration

  4. 转移配置名称部分的显示名字段中,输入转移作业的名称,例如 My migration。显示名称可以是任何易于识别该作业的值,以便您以后在需要修改时找到作业。

  5. 目标设置部分中,从数据集列表中选择您创建的数据集

  6. 数据源详细信息部分,执行以下操作:

    1. 对于账号标识符,请输入您的 Snowflake 账号的唯一标识符,该标识符由组织名称和账号名称组成。标识符是 Snowflake 账号网址的前缀,而不是完整网址。例如 ACCOUNT_IDENTIFIER.snowflakecomputing.com
    2. 对于用户名,输入 Snowflake 用户的用户名。系统会使用该用户的凭据和授权访问您的数据库以传输 Snowflake 表。我们建议您使用为此传输创建的用户
    3. 密码中,输入 Snowflake 用户的密码。
    4. 仓库中,输入用于执行此数据传输的仓库
    5. 服务账号中,输入要用于此数据传输的服务账号。该服务账号应与创建转移配置和目标数据集的Google Cloud 项目位于同一项目中。服务账号必须具有 storage.objects.liststorage.objects.get 所需权限
    6. 对于数据库,输入包含此数据传输中所含表的 Snowflake 数据库的名称。
    7. 架构中,输入包含此数据传输中所含表的 Snowflake 架构的名称。
    8. 表名模式字段中,输入与架构中的表名匹配的名称或模式,以指定要传输的表。您可以���用正则表达式指定模式,例如 table1_regex;table2_regex。此模式应遵循 Java 正则表达式语法。 例如,

      • lineitem;ordertb 匹配名为 lineitemordertb 的表。
      • .* 匹配所有表。
    9. 对于转换输出 GCS 路径,请指定包含转换引擎中的架构映射文件的 Cloud Storage 文件夹的路径。

      • 路径应采用 gs:/translation_target_base_uri/dts/db/schema/ 格式,且必须以 / 结尾。
    10. 存储空间集成对象名称中,输入 Snowflake 存储空间集成对象的名称。在此示例中为 S3

    11. 云服务提供商部分,选择 AWS

    12. 对于 GCS URI、Azure Storage 账号名称、Azure 容器名称、Azure SAS,请将这些字段留空。

    13. Amazon S3 URI 字段中,输入要用作暂存区域的 S3 存储桶的 URI

    14. Access key IDSecret access key 字段中,输入访问密钥对

  7. 可选:在通知选项部分,执行以下操作:

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

  9. Google Cloud 控制台会显示所有转移作业设置详细信息,包括此转移作业的资源名称

bq

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

  • --project_id
  • --data_source
  • --target_dataset
  • --display_name
  • --params
bq mk \
    --transfer_config \
    --project_id=project_id \
    --data_source=data_source \
    --target_dataset=dataset \
    --display_name=name \
    --service_account_name=service_account \
    --params='parameters'

替换以下内容:

  • project_id:您的 Google Cloud 项目 ID。如果未指定 --project_id,系统会使用默认项目。
  • data_source:数据源 snowflake_migration
  • dataset:转移作业配置的 BigQuery 目标数据集。
  • name:转移作业配置的显示名。 转移作业名称可以是任何可让您在需要修改转移作业时识别该转移作业的名称。
  • service_account:(可选)用于对转移作业进行身份验证的服务账号名称。该服务账号应属于用于创建转移作业的同一 project_id,并且应具有所有所需角色
  • parameters:所创建转移作业配置的参数(采用 JSON 格式)。例如:--params='{"param":"param_value"}'

Snowflake 转移作业配置需要的参数包括:

  • account_identifier:您的 Snowflake 账号的唯一标识符,由组织名称和账号名称组成。该标识符是 Snowflake 账号网址的前缀,而不是完整网址。例如 account_identifier.snowflakecomputing.com
  • username:Snowflake 用户的用户名,其凭据和授权用于访问您的数据库以转移 Snowflake 表。
  • password:输入 Snowflake 用户的密码。
  • warehouse:输入用于执行此数据传输的仓库
  • service_account:输入要用于此数据传输的服务账号。该服务账号应与创建转移配置和目标数据集的 Google Cloud 项目位于同一项目中。服务账号必须具有 storage.objects.liststorage.objects.get 所需权限
  • database:输入包含此数据传输中所含表的 Snowflake 数据库的名称。
  • schema:输入包含此数据传输中所含表的 Snowflake 架构的名称。
  • table_name_patterns:通过输入与架构中表名称匹配的名称或模式,指定要转移的表。您可以使用正则表达式指定模式,例如 table1_regex;table2_regex。此模式应遵循 Java 正则表达式语法。例如,

    • lineitem;ordertb 匹配名为 lineitemordertb 的表。
    • .* 匹配所有表。

      您也可以将此字段留空,以迁移来自指定架构的所有表。

  • translation_output_gcs_path:指定包含翻译引擎中的架构映射文件的 Cloud Storage 文件夹的路径。

    • 路径应采用 gs:/translation_target_base_uri/dts/db/schema/ 格式,且必须以 / 结尾。
  • storage_integration_object_name:输入 Snowflake 存储集成对象的名称。在此示例中为 S3

  • cloud_provider:输入 AWS

  • amazon_s3_uri:输入要用作暂存区域的 S3 存储桶的 URI

  • aws_access_key_id:输入访问密钥对

  • aws_secret_access_key:输入访问密钥对

例如,以下命令会创建名为 snowflake transfer config 的 Snowflake 转移作业,且目标数据集名为 your_bq_dataset,项目 ID 为 your_project_id

  PARAMS='{
  "account_identifier": "your_account_identifier",
  "aws_access_key_id": "your_access_key_id",
  "aws_secret_access_key": "your_aws_secret_access_key",
  "cloud_provider": "AWS",
  "database": "your_sf_database",
  "password": "your_sf_password",
  "schema": "your_snowflake_schema",
  "service_account": "your_service_account",
  "storage_integration_object_name": "your_storage_integration_object",
  "staging_s3_uri": "s3://your/s3/bucket/uri",
  "table_name_patterns": ".*",
  "translation_output_gcs_path": "gs://sf_test_translation/output/dts/database_name/schema_name/",
  "username": "your_sf_username",
  "warehouse": "your_warehouse"
}'

bq mk --transfer_config \
    --project_id=your_project_id \
    --target_dataset=your_bq_dataset \
    --display_name='snowflake transfer config' \
    --params="$PARAMS" \
    --data_source=snowflake_migration

API

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

配额和限制

对于每个表的每个加载作业,BigQuery 都有 15 TB 的加载配额。Snowflake 会在内部执行表数据压缩,因此实际导出的表大小会超过 Snowflake 报���的表大小。如果您打算迁移 15 TB 以上的表,请联系 dts-migration-preview-support@google.com

由于 Amazon S3 的一致性模型要求,向 BigQuery 转移的作业中可能不包括某些文件。

价格

如需了解 BigQuery Data Transfer Service 价格,请参阅价格页面。

  • 如果 Snowflake 数据仓库和 Amazon S3 存储桶位于不同的区域,那么当您运行 Snowflake 数据传输时,Snowflake 会收取出站流量费用。如果 Snowflake 数据仓库和 Amazon S3 存储桶位于同一区域,则 Snowflake 数据传输不会产生出站流量费用。
  • 将数据从 AWS 转移到 Google Cloud时,系统会收取云间出站流量费用。

后续步骤