Migre o esquema e os dados do Amazon Redshift

Este documento descreve o processo de migração de dados do Amazon Redshift para o BigQuery através de endereços IP públicos.

Pode usar o Serviço de transferência de dados do BigQuery para copiar os seus dados de um armazém de dados do Amazon Redshift para o BigQuery. O serviço envolve agentes de migração no GKE e aciona uma operação de descarregamento do Amazon Redshift para uma área de preparação num contentor do Amazon S3. Em seguida, o Serviço de transferência de dados do BigQuery transfere os seus dados do contentor do Amazon S3 para o BigQuery.

Este diagrama mostra o fluxo geral de dados entre um data warehouse do Amazon Redshift e o BigQuery durante uma migração.

Fluxo de trabalho da migração do Amazon Redshift para o BigQuery.

Se quiser transferir dados da sua instância do Amazon Redshift através de uma nuvem virtual privada (VPC) com endereços IP privados, consulte o artigo Migrar dados do Amazon Redshift com a VPC.

Antes de começar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the BigQuery and BigQuery Data Transfer Service APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the BigQuery and BigQuery Data Transfer Service APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  8. Defina as autorizações necessárias

    Antes de criar uma transferência do Amazon Redshift:

    1. Certifique-se de que o principal que está a criar a transferência tem as seguintes autorizações no projeto que contém a tarefa de transferência:

      • bigquery.transfers.update para criar a transferência
      • Autorizações de bigquery.datasets.get e bigquery.datasets.update no conjunto de dados de destino

      A função de gestão de identidade e de acesso (IAM) roles/bigquery.adminpredefinida inclui as autorizações bigquery.transfers.update, bigquery.datasets.update e bigquery.datasets.get. Para mais informações sobre as funções do IAM no Serviço de transferência de dados do BigQuery, consulte o artigo Controlo de acesso.

    2. Consulte a documentação do Amazon S3 para garantir que configurou todas as autorizações necessárias para ativar a transferência. No mínimo, os dados de origem do Amazon S3 têm de ter a política gerida pela AWS AmazonS3ReadOnlyAccess aplicada.

    Crie um conjunto de dados

    Crie um conjunto de dados do BigQuery para armazenar os seus dados. Não tem de criar tabelas.

    Conceda acesso ao seu cluster do Amazon Redshift

    Adicione os seguintes intervalos de IP do seu cluster privado do Amazon Redshift a uma lista de autorizações configurando as regras do grupo de segurança. Pode colocar na lista de autorizações os endereços IP que correspondem à localização do seu conjunto de dados ou pode colocar na lista de autorizações todos os endereços IP na tabela abaixo. Estes endereços IP pertencentes à Google estão reservados para migrações de dados do Amazon Redshift.

    Localizações regionais

    Descrição da região Nome da região Endereços IP
    Americas
    Columbus, Ohio 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
    Dallas 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
    Iowa 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
    Las Vegas 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
    Los Angeles 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
    México 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
    Montréal 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
    Virgínia do Norte 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
    Oregon 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
    Salt Lake City 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
    São Paulo 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
    Santiago 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
    Carolina do Sul 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
    Toronto 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
    Europa
    Bélgica 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
    Berlim 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
    Finlândia 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
    Frankfurt 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
    Londres 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
    Madrid 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
    Milão 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
    Países Baixos 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
    Paris 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
    Estocolmo 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
    Turim 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
    Varsóvia 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
    Zurique 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
    Ásia-Pacífico
    Deli 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
    Hong Kong 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
    Jacarta 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
    Melbourne 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
    Mumbai 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
    Osaca 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
    Seul 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
    Singapura 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
    Sydney 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
    Taiwan 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
    Tóquio 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
    Médio Oriente
    Damã 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
    Doha 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
    Telavive 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
    África
    Joanesburgo 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

    Localizações multirregionais

    Descrição de várias regiões Nome da multirregião Endereços IP
    Centros de dados nos Estados-Membros da União Europeia1 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
    Centros de dados nos Estados Unidos 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 Os dados localizados na multirregião EU não são armazenados nos centros de dados europe-west2 (Londres) nem europe-west6 (Zurique).

    Conceda acesso ao seu contentor do Amazon S3

    Tem de ter um contentor do Amazon S3 para usar como área de preparação para transferir os dados do Amazon Redshift para o BigQuery. Para ver instruções detalhadas, consulte a documentação da Amazon.

    1. Recomendamos que crie um utilizador do Amazon IAM dedicado e conceda a esse utilizador apenas acesso de leitura ao Amazon Redshift e acesso de leitura e gravação ao Amazon S3. Para alcançar este passo, pode aplicar as seguintes políticas:

      Autorizações da Amazon para a migração do Amazon Redshift

    2. Crie um par de chaves de acesso de utilizador do IAM da Amazon.

    Configure o controlo da carga de trabalho com uma fila de migração separada

    Opcionalmente, pode definir uma fila do Amazon Redshift para fins de migração para limitar e separar os recursos usados para a migração. Pode configurar esta fila de migração com uma quantidade máxima de consultas simultâneas. Em seguida, pode associar um determinado grupo de utilizadores de migração à fila e usar essas credenciais quando configurar a migração para transferir dados para o BigQuery. O serviço de transferência só tem acesso à fila de migração.

    Recolha informações de transferência

    Reúna as informações de que precisa para configurar a migração com o Serviço de transferência de dados do BigQuery:

    • Siga estas instruções para obter o URL JDBC.
    • Obtenha o nome de utilizador e a palavra-passe de um utilizador com as autorizações adequadas para a sua base de dados do Amazon Redshift.
    • Siga as instruções em Conceda acesso ao seu contentor do Amazon S3 para obter um par de chaves de acesso da AWS.
    • Obtenha o URI do contentor do Amazon S3 que quer usar para a transferência. Recomendamos que configure uma política de ciclo de vida para este contentor, de modo a evitar custos desnecessários. O tempo de expiração recomendado é de 24 horas para permitir tempo suficiente para transferir todos os dados para o BigQuery.

    Avalie os seus dados

    Como parte da transferência de dados, o Serviço de transferência de dados do BigQuery escreve dados do Amazon Redshift para o Cloud Storage como ficheiros CSV. Se estes ficheiros contiverem o caráter ASCII 0, não podem ser carregados para o BigQuery. Sugerimos que avalie os seus dados para determinar se isto pode ser um problema para si. Se for o caso, pode contornar esta situação exportando os dados para o Amazon S3 como ficheiros Parquet e, em seguida, importando esses ficheiros através do Serviço de transferência de dados do BigQuery. Para mais informações, consulte o artigo Vista geral das transferências do Amazon S3.

    Configure uma transferência do Amazon Redshift

    Selecione uma das seguintes opções:

    Consola

    1. Na Google Cloud consola, aceda à página BigQuery.

      Aceda ao BigQuery

    2. Clique em Transferências de dados.

    3. Clique em Criar transferência.

    4. Na secção Tipo de origem, selecione Migração: Amazon Redshift na lista Origem.

    5. Na secção Nome da configuração da transferência, introduza um nome para a transferência, como My migration, no campo Nome a apresentar. O nome a apresentar pode ser qualquer valor que lhe permita identificar facilmente a transferência se precisar de a modificar mais tarde.

    6. Na secção Definições de destino, escolha o conjunto de dados que criou na lista Conjunto de dados.

    7. Na secção Detalhes da origem de dados, faça o seguinte:

      1. Para o URL de ligação JDBC para o Amazon Redshift, indique o URL JDBC para aceder ao seu cluster do Amazon Redshift.
      2. Para Nome de utilizador da sua base de dados, introduza o nome de utilizador da base de dados do Amazon Redshift que quer migrar.
      3. Para Palavra-passe da sua base de dados, introduza a palavra-passe da base de dados.

      4. Para o ID da chave de acesso e a chave de acesso secreta, introduza o par de chaves de acesso que obteve em Conceda acesso ao seu contentor do S3.

      5. Para o URI do Amazon S3, introduza o URI do contentor do S3 que vai usar como área de preparação.

      6. Para Esquema do Amazon Redshift, introduza o esquema do Amazon Redshift que está a migrar.

      7. Para Padrões de nomes de tabelas, especifique um nome ou um padrão para fazer corresponder os nomes das tabelas no esquema. Pode usar expressões regulares para especificar o padrão no formato: <table1Regex>;<table2Regex>. O padrão deve seguir a sintaxe de expressão regular Java. Por exemplo:

        • lineitem;ordertb corresponde a tabelas com os nomes lineitem e ordertb.
        • .* corresponde a todas as tabelas.

        Deixe este campo vazio para migrar todas as tabelas do esquema especificado.

      8. Para a VPC e o intervalo de IPs reservados, deixe o campo em branco.

    8. No menu Conta de serviço, selecione uma conta de serviço das contas de serviço associadas ao seu Google Cloud projeto. Pode associar uma conta de serviço à sua transferência em vez de usar as suas credenciais de utilizador. Para mais informações sobre a utilização de contas de serviço com transferências de dados, consulte o artigo Utilize contas de serviço.

    9. Opcional: na secção Opções de notificação, faça o seguinte:

      1. Clique no botão para ativar as notificações por email. Quando ativa esta opção, o administrador da transferência recebe uma notificação por email quando uma execução de transferência falha.
      2. Em Selecionar um tópico do Pub/Sub, escolha o nome do tópico ou clique em Criar um tópico. Esta opção configura notificações executadas pelo Pub/Sub para a transferência.
    10. Clique em Guardar.

    11. A Google Cloud consola apresenta todos os detalhes da configuração da transferência, incluindo um nome do recurso para esta transferência.

    bq

    Introduza o comando bq mk e forneça a flag de criação de transferência --transfer_config. Os seguintes indicadores também são obrigatórios:

    • --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'

    Onde:

    • project_id é o ID do seu Google Cloud projeto. Se --project_id não for especificado, é usado o projeto predefinido.
    • data_source é a origem de dados: redshift.
    • dataset é o conjunto de dados de destino do BigQuery para a configuração de transferência.
    • name é o nome a apresentar da configuração de transferência. O nome da transferência pode ser qualquer valor que lhe permita identificar a transferência se precisar de a modificar mais tarde.
    • service_account: é o nome da conta de serviço usado para autenticar a sua transferência. A conta de serviço deve ser propriedade do mesmo project_id usado para criar a transferência e deve ter todas as autorizações necessárias.
    • parameters contém os parâmetros da configuração de transferência criada no formato JSON. Por exemplo: --params='{"param":"param_value"}'.

    Os parâmetros necessários para uma configuração de transferência do Amazon Redshift são:

    • jdbc_url: o URL de ligação JDBC é usado para localizar o cluster do Amazon Redshift.
    • database_username: o nome de utilizador para aceder à sua base de dados para descarregar tabelas específicas.
    • database_password: a palavra-passe usada com o nome de utilizador para aceder à sua base de dados para descarregar tabelas especificadas.
    • access_key_id: o ID da chave de acesso para assinar pedidos feitos à AWS.
    • secret_access_key: a chave de acesso secreta usada com o ID da chave de acesso para assinar pedidos feitos à AWS.
    • s3_bucket: o URI do Amazon S3 que começa por "s3://" e especifica um prefixo para os ficheiros temporários a usar.
    • redshift_schema: O esquema do Amazon Redshift que contém todas as tabelas a migrar.
    • table_name_patterns: padrões de nomes de tabelas separados por um ponto e vírgula (;). O padrão de tabela é uma expressão regular para as tabelas a migrar. Se não forem fornecidas, todas as tabelas no esquema da base de dados são migradas.

    Por exemplo, o comando seguinte cria uma transferência do Amazon Redshift denominada My Transfer com um conjunto de dados de destino denominado mydataset e um projeto com o ID de google.com:myproject.

    bq mk \
        --transfer_config \
        --project_id=myproject \
        --data_source=redshift \
        --target_dataset=mydataset \
        --display_name='My Transfer' \
        --params='{"jdbc_url":"jdbc:postgresql://test-example-instance.sample.us-west-1.redshift.amazonaws.com:5439/dbname","database_username":"my_username","database_password":"1234567890","access_key_id":"A1B2C3D4E5F6G7H8I9J0","secret_access_key":"1234567890123456789012345678901234567890","s3_bucket":"s3://bucket/prefix","redshift_schema":"public","table_name_patterns":"table_name"}'
    

    API

    Use o método projects.locations.transferConfigs.create e forneça uma instância do recurso TransferConfig.

    Java

    Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Java BigQuery documentação de referência.

    Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.

    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 redshift transfer config
    public class CreateRedshiftTransfer {
    
      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 datasetRegion = "US";
        String jdbcUrl = "MY_JDBC_URL_CONNECTION_REDSHIFT";
        String dbUserName = "MY_USERNAME";
        String dbPassword = "MY_PASSWORD";
        String accessKeyId = "MY_AWS_ACCESS_KEY_ID";
        String secretAccessId = "MY_AWS_SECRET_ACCESS_ID";
        String s3Bucket = "MY_S3_BUCKET_URI";
        String redShiftSchema = "MY_REDSHIFT_SCHEMA";
        String tableNamePatterns = "*";
        String vpcAndReserveIpRange = "MY_VPC_AND_IP_RANGE";
        Map<String, Value> params = new HashMap<>();
        params.put("jdbc_url", Value.newBuilder().setStringValue(jdbcUrl).build());
        params.put("database_username", Value.newBuilder().setStringValue(dbUserName).build());
        params.put("database_password", Value.newBuilder().setStringValue(dbPassword).build());
        params.put("access_key_id", Value.newBuilder().setStringValue(accessKeyId).build());
        params.put("secret_access_key", Value.newBuilder().setStringValue(secretAccessId).build());
        params.put("s3_bucket", Value.newBuilder().setStringValue(s3Bucket).build());
        params.put("redshift_schema", Value.newBuilder().setStringValue(redShiftSchema).build());
        params.put("table_name_patterns", Value.newBuilder().setStringValue(tableNamePatterns).build());
        params.put(
            "migration_infra_cidr", Value.newBuilder().setStringValue(vpcAndReserveIpRange).build());
        TransferConfig transferConfig =
            TransferConfig.newBuilder()
                .setDestinationDatasetId(datasetId)
                .setDatasetRegion(datasetRegion)
                .setDisplayName("Your Redshift Config Name")
                .setDataSourceId("redshift")
                .setParams(Struct.newBuilder().putAllFields(params).build())
                .setSchedule("every 24 hours")
                .build();
        createRedshiftTransfer(projectId, transferConfig);
      }
    
      public static void createRedshiftTransfer(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 redshift transfer created successfully :" + config.getName());
        } catch (ApiException ex) {
          System.out.print("Cloud redshift transfer was not created." + ex.toString());
        }
      }
    }

    Quotas e limites

    O BigQuery tem uma quota de carregamento de 15 TB para cada tarefa de carregamento para cada tabela. Internamente, o Amazon Redshift comprime os dados da tabela, pelo que o tamanho da tabela exportada é superior ao tamanho da tabela comunicado pelo Amazon Redshift. Se planeia migrar uma tabela com mais de 15 TB, contacte primeiro o apoio ao cliente da nuvem.

    A utilização deste serviço pode incorrer em custos fora da Google. Reveja as páginas de preços do Amazon Redshift e do Amazon S3 para ver detalhes.

    Devido ao modelo de consistência do Amazon S3, é possível que alguns ficheiros não sejam incluídos na transferência para o BigQuery.

    O que se segue?