Programar uma transferência do Snowflake

Com o conector do Snowflake fornecido pelo serviço de transferência de dados do BigQuery, é possível programar e gerenciar jobs de transferência automatizados para migrar dados do Snowflake para o BigQuery usando listas de permissão de IP público.

Visão geral

O conector do Snowflake usa agentes de migração no Google Kubernetes Engine e aciona uma operação de carregamento do Snowflake para uma área de preparo no mesmo provedor de nuvem em que o Snowflake está hospedado.

  • Para contas do Snowflake hospedadas na AWS, os dados são primeiro armazenados em um bucket do Amazon S3, que é transferido para o BigQuery com o serviço de transferência de dados do BigQuery.
  • Para contas do Snowflake hospedadas no Google Cloud, os dados são primeiro organizados em seu bucket do Cloud Storage, que é transferido para o BigQuery com o serviço de transferência de dados do BigQuery.
  • Para contas do Snowflake hospedadas no Azure, os dados são primeiro armazenados em um contêiner do Armazenamento de Blobs do Azure, que é transferido para o BigQuery com o serviço de transferência de dados do BigQuery.

Limitações

As transferências de dados feitas com o conector do Snowflake estão sujeitas às seguintes limitações:

  • O conector do Snowflake só aceita transferências de tabelas em um único banco de dados e esquema do Snowflake. Para transferir de tabelas com vários bancos de dados ou esquemas do Snowflake, configure cada job de transferência separadamente.
  • A velocidade de carregamento de dados do Snowflake para seu bucket do Amazon S3, contêiner do Azure Blob Storage ou bucket do Cloud Storage é limitada pelo data warehouse do Snowflake escolhido para essa transferência.
  • O BigQuery grava dados do Snowflake no Cloud Storage como arquivos Parquet. Os arquivos Parquet não são compatíveis com os tipos de dados TIMESTAMP_TZ e TIMESTAMP_LTZ. Se os dados contiverem esses tipos, exporte-os para o Amazon S3 como arquivos CSV e importe-os para o BigQuery. Para mais informações, consulte Visão geral das transferências do Amazon S3.

Antes de começar

Antes de configurar uma transferência do Snowflake, siga todas as etapas listadas nesta seção. Confira a seguir uma lista de todas as etapas necessárias.

  1. Preparar o projeto do Google Cloud
  2. Papéis obrigatórios do BigQuery
  3. Preparar o bucket de preparação
  4. Crie um usuário do Snowflake com as permissões necessárias
  5. Adicionar políticas de rede
  6. Opcional: Detecção e mapeamento de esquema
  7. Avalie o Snowflake para identificar tipos de dados incompatíveis
  8. Opcional: Ativar transferências incrementais
  9. Opcional: Ativar a conectividade particular
  10. Coletar informações de transferência
  11. Se você planeja especificar uma chave de criptografia gerenciada pelo cliente (CMEK), verifique se a conta de serviço tem permissões para criptografar e descriptografar e que você tem o Cloud KMS ID do recurso da chave necessário para usar a CMEK. Para informações sobre como a CMEK funciona com as transferências, consulte Especificar chave de criptografia com transferências.

Preparar seu projeto do Google Cloud

Crie e configure seu projeto Google Cloud para uma transferência do Snowflake seguindo estas etapas:

  1. Crie um Google Cloud projeto ou selecione um atual.

  2. Verifique se você realizou todas as ações necessárias para ativar o serviço de transferência de dados do BigQuery.

  3. Crie um conjunto de dados do BigQuery para armazenar seus dados. Não é necessário criar tabelas.

Papéis obrigatórios do BigQuery

Para receber as permissões necessárias para criar uma transferência de dados do serviço de transferência de dados do BigQuery, peça ao administrador para conceder a você o papel do IAM Administrador do BigQuery (roles/bigquery.admin) no seu projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esse papel predefinido contém as permissões necessárias para criar uma transferência de dados do serviço de transferência de dados do BigQuery. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As seguintes permissões são necessárias para criar uma transferência de dados do serviço de transferência de dados do BigQuery:

  • Permissões do serviço de transferência de dados do BigQuery:
    • bigquery.transfers.update
    • bigquery.transfers.get
  • Permissões do BigQuery:
    • bigquery.datasets.get
    • bigquery.datasets.getIamPolicy
    • bigquery.datasets.update
    • bigquery.datasets.setIamPolicy
    • bigquery.jobs.create

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Para mais informações, consulte Conceder acesso ao bigquery.admin.

Preparar o bucket de staging

Para concluir uma transferência de dados do Snowflake, crie um bucket de preparação e configure-o para permitir acesso de gravação do Snowflake.

Selecione uma das seguintes opções:

AWS

Bucket de teste para conta do Snowflake hospedada na AWS

Para uma conta do Snowflake hospedada na AWS, crie um bucket do Amazon S3 para armazenar os dados do Snowflake antes de serem carregados no BigQuery.

  1. Crie um bucket do Amazon S3.

  2. Crie e configure um objeto de integração de armazenamento do Snowflake para permitir que o Snowflake grave dados no bucket do Amazon S3 como um estágio externo.

Para permitir o acesso de leitura no bucket do Amazon S3, faça o seguinte:

  1. Crie um usuário do IAM da Amazon dedicado e conceda a ele a política AmazonS3ReadOnlyAccess.

  2. Crie um par de chaves de acesso do Amazon para o usuário do IAM.

Azure

Contêiner de armazenamento de blobs do Azure de staging para uma conta do Snowflake hospedada no Azure

Para contas do Snowflake hospedadas no Azure, crie um contêiner do Armazenamento de Blobs do Azure para organizar os dados do Snowflake antes de serem carregados no BigQuery.

  1. Crie uma conta de armazenamento do Azure e um contêiner de armazenamento nela.
  2. Crie e configure um objeto de integração de armazenamento do Snowflake para permitir que o Snowflake grave dados no contêiner de armazenamento do Azure como um estágio externo. A etapa 3: "Criar um estágio externo" pode ser ignorada porque não a usamos.

Para permitir o acesso de leitura no seu contêiner do Azure, gere um token SAS para ele.

Google Cloud

Bucket de preparo para conta do Snowflake hospedada em Google Cloud

Para contas do Snowflake hospedadas no Google Cloud, crie um bucket do Cloud Storage para organizar os dados do Snowflake antes de serem carregados no BigQuery.

  1. Crie um bucket do Cloud Storage.
  2. Crie e configure um objeto de integração de armazenamento do Snowflake para permitir que o Snowflake grave dados no bucket do Cloud Storage como um estágio externo.
  3. Para permitir o acesso ao bucket de staging, conceda ao agente de serviço do DTS o papel roles/storage.objectViewer com o seguinte comando:

    gcloud storage buckets add-iam-policy-binding gs://STAGING_BUCKET_NAME \
      --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com \
      --role=roles/storage.objectViewer

Criar um usuário do Snowflake com as permissões necessárias

Durante uma transferência do Snowflake, o conector do Snowflake se conecta à sua conta usando uma conexão JDBC. Crie um usuário do Snowflake com uma função personalizada que tenha apenas os privilégios necessários para realizar a transferência de dados:

  // 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;

Substitua:

  • MIGRATION_ROLE: o nome da função personalizada que você está criando
  • WAREHOUSE_NAME: o nome do seu data warehouse
  • DATABASE_NAME: o nome do banco de dados do Snowflake.
  • SCHEMA_NAME: o nome do seu esquema do Snowflake.
  • TABLE_NAME: o nome do Snowflake incluído nesta transferência de dados.
  • STORAGE_INTEGRATION_OBJECT_NAME: o nome do seu objeto de integração de armazenamento do Snowflake.

Gerar par de chaves para autenticação

Devido à descontinuação dos logins com senha de fator único pelo Snowflake, recomendamos que você use o par de chaves para autenticação.

Para configurar um par de chaves, gere um par Chave RSA criptografado ou não criptografado e atribua a chave pública a um usuário do Snowflake. Para mais informações, consulte Configurar a autenticação de par de chaves.

Adicionar políticas de rede

Para conectividade pública, a conta do Snowflake permite a conexão pública com credenciais de banco de dados por padrão. No entanto, talvez você tenha configurado regras ou políticas de rede que podem impedir que o conector do Snowflake se conecte à sua conta. Nesse caso, adicione os endereços IP necessários à lista de permissões. Para mais informações, consulte Configurar políticas de rede para transferências do Snowflake.

Detecção e mapeamento de esquema

Para definir seu esquema, use o serviço de transferência de dados do BigQuery para detectar automaticamente o esquema e o mapeamento de tipo de dados ao transferir dados do Snowflake para o BigQuery. Se preferir, use o mecanismo de tradução para definir manualmente seu esquema e tipos de dados.

Para mais informações, consulte Detecção e mapeamento de esquema para o Snowflake.

Ativar transferências incrementais

Para configurar uma transferência incremental de dados do Snowflake, consulte Configurar transferências incrementais para o Snowflake.

Ativar a conectividade particular

Se você quiser criar uma transferência de dados privada do Snowflake, configure sua rede para conectividade privada.

Coletar informações de transferência

Reúna as informações necessárias para configurar a migração com o serviço de transferência de dados do BigQuery:

Configurar uma transferência do Snowflake

Selecione uma das seguintes opções:

Console

  1. Acesse a página "Transferências de dados" no console Google Cloud .

    Acesse Transferências de dados

  2. Clique em Criar transferência.

  3. Na seção Tipo de origem, selecione Migração do Snowflake na lista Origem.

  4. Na seção Nome da configuração de transferência, insira um nome para a transferência, como My migration, no campo Nome de exibição. Esse nome pode ter qualquer valor que identifique facilmente a transferência, caso seja necessário modificá-la no futuro.

  5. Na seção Configurações de destino, escolha o conjunto de dados criado, na lista Conjunto de dados.

  6. Na seção Credenciais do Snowflake, faça o seguinte:

    1. Em Identificador da conta, insira um identificador exclusivo da sua conta do Snowflake, que é uma combinação do nome da organização e da conta. O identificador é o prefixo do URL da conta do Snowflake, não o URL completo. Por exemplo, ACCOUNT_IDENTIFIER.snowflakecomputing.com.
    2. Em Nome de usuário, insira o nome de usuário do usuário do Snowflake cujas credenciais e autorização são usadas para acessar seu banco de dados e transferir as tabelas do Snowflake. Recomendamos usar o usuário que você criou para essa transferência.
    3. Em Mecanismo de autenticação, selecione um método de autenticação de usuário do Snowflake:

      SENHA

      • Em Senha, insira a senha do usuário do Snowflake.

      KEY_PAIR

      • Em Chave privada, insira a chave privada vinculada à chave pública associada ao usuário do Snowflake.
      • Em A chave privada está criptografada?, selecione este campo se a chave privada estiver criptografada com uma senha longa.
      • Em Senha longa da chave privada, digite a senha longa da chave privada criptografada. Esse campo é obrigatório se você tiver selecionado A chave privada está criptografada. Para mais informações, consulte Gerar um par de chaves para autenticação.
    • Em Armazém, insira um armazém usado para a execução dessa transferência de dados.
    • Em Banco de dados do Snowflake, insira o nome do banco de dados do Snowflake que contém as tabelas incluídas nesta transferência de dados.
    • Em Esquema do Snowflake, insira o nome do esquema do Snowflake que contém as tabelas incluídas nesta transferência de dados.
  7. Na seção Configuração de armazenamento, faça o seguinte:

    1. Em Nome do objeto de integração de armazenamento, insira o nome do objeto de integração de armazenamento do Snowflake.
    2. Opcional: em Tamanho máximo do arquivo, especifique o tamanho máximo de cada arquivo descarregado do Snowflake para o local de staging (em MB).
    3. Em Provedor de nuvem, selecione AWS, AZURE ou GCP, dependendo de qual provedor de nuvem está hospedando sua conta do Snowflake.

      AWS

      Azure

      Google Cloud

  8. Na seção Conta de serviço, faça o seguinte:

    1. Em Conta de serviço, insira uma conta de serviço para usar com essa transferência de dados. A conta de serviço precisa pertencer ao mesmo projetoGoogle Cloud em que a configuração de transferência e o conjunto de dados de destino são criados. A conta de serviço precisa ter as permissões necessárias storage.objects.list e storage.objects.get.
  9. Na seção Configuração do esquema, faça o seguinte:

    1. Em Tipo de ingestão, selecione Completa ou Incremental. Para mais informações, consulte Comportamento da ingestão de dados.
    2. Em Padrões de nome da tabela, especifique uma tabela para transferir inserindo um nome ou um padrão que corresponda ao nome da tabela no esquema. Você pode usar expressões regulares para especificar o padrão, por exemplo table1_regex;table2_regex. Esse padrão precisa seguir a sintaxe da expressão regular do Java. Por exemplo,
      • lineitem;ordertb corresponde às tabelas chamadas lineitem e ordertb.
      • .* corresponde a todas as tabelas.
    3. Opcional: em Usar a saída do BigQuery Translation Engine, selecione este campo se quiser especificar um caminho de saída de tradução personalizado.
    4. Opcional: em Caminho do GCS de saída da tradução, especifique um caminho para a pasta do Cloud Storage que contém os arquivos de mapeamento de esquema do mecanismo de tradução. Você pode deixar esse campo em branco para que o conector do Snowflake detecte automaticamente seu esquema.
      • O caminho precisa seguir o formato translation_target_base_uri/metadata/config/db/schema/ e terminar com /.
    5. Opcional: em Caminho do arquivo de esquema personalizado, especifique o caminho do Cloud Storage para um arquivo de esquema personalizado.
    6. Opcional: para Mapear NUMBER de escala zero do Snowflake para INT64 do BigQuery, selecione este campo se quiser que os tipos NUMBER(p, 0) do Snowflake sejam mapeados para INT64 do BigQuery.
  10. Na seção Conectividade de rede, faça o seguinte:

    1. Em Usar rede particular, se você estiver criando uma transferência de dados privada, selecione Verdadeiro.
    2. Em Anexo de serviço do PSC, se você estiver criando uma conexão particular, insira o URI do anexo de serviço. Para mais informações, consulte Criar uma configuração de transferência privada do Snowflake.
    3. Para o Private Network Service, se você estiver criando uma transferência de dados particular, insira o autolink do diretório de serviços. Para mais informações, consulte Criar uma configuração de transferência privada do Snowflake.
  11. Opcional: na seção Opções de notificação, faça o seguinte:

    1. Clique no botão para ativar as notificações por e-mail. Quando você ativa essa opção, o administrador de transferência recebe uma notificação por e-mail se uma execução de transferência falhar.
    2. Em Selecionar um tópico do Pub/Sub, escolha o nome do tópico ou clique em Criar um tópico. Essa opção configura notificações de execução do Pub/Sub da sua transferência.
  12. Se você usa CMEKs, na seção Opções avançadas, selecione Chave gerenciada pelo cliente. Uma lista das CMEKs disponíveis será exibida. Para saber como as CMEKs funcionam com o serviço de transferência de dados do BigQuery, consulte Especificar a chave de criptografia com transferências.

  13. Clique em Salvar.

  14. O console do Google Cloud mostra todos os detalhes da configuração da transferência, incluindo um Nome de recurso para ela.

bq

Digite o comando bq mk e forneça a sinalização de criação da transferência --transfer_config. As sinalizações abaixo também são obrigatórias:

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

Substitua:

  • project_id: o ID do projeto Google Cloud . Se --project_id não for especificado, o projeto padrão será usado.
  • data_source: a fonte de dados, snowflake_migration.
  • dataset: o conjunto de dados de destino do BigQuery para a configuração de transferência.
  • name: o nome de exibição da configuração de transferência. O nome da transferência pode ser qualquer valor que permita identificá-la facilmente, caso precise modificá-la mais tarde.
  • service_account: (opcional) o nome da conta de serviço usado para autenticar a transferência. A conta de serviço precisa pertencer ao mesmo project_id usado para criar a transferência e ter todas as funções necessárias.
  • parameters é o parâmetro da configuração de transferência criada no formato JSON. Por exemplo, --params='{"param":"param_value"}'.

É possível configurar os seguintes parâmetros para sua configuração de transferência do Snowflake:

  • account_identifier: especifique um identificador exclusivo para sua conta do Snowflake, que é uma combinação do nome da organização e da conta. O identificador é o prefixo do URL da conta do Snowflake, não o URL completo. Por exemplo, account_identifier.snowflakecomputing.com.
  • username: especifique o nome de usuário do usuário do Snowflake cujas credenciais e autorização são usadas para acessar seu banco de dados e transferir as tabelas do Snowflake.
  • auth_mechanism: especifique o método de autenticação do usuário do Snowflake. Os valores aceitos são PASSWORD e KEY_PAIR. Para mais informações, consulte Gerar um par de chaves para autenticação.
  • password: especifique a senha do usuário do Snowflake. Esse campo é obrigatório se você tiver especificado PASSWORD no campo auth_mechanism.
  • private_key : especifique a chave privada vinculada à chave pública associada ao usuário do Snowflake. Esse campo é obrigatório se você tiver especificado KEY_PAIR no campo auth_mechanism.
  • is_private_key_encrypted : especifique true se a chave privada estiver criptografada com uma senha longa.
  • private_key_passphrase : especifique a senha longa da chave privada criptografada. Esse campo é obrigatório se você tiver especificado KEY_PAIR no campo auth_mechanism e true no campo is_private_key_encrypted.
  • warehouse: especifique um data warehouse usado para a execução dessa transferência de dados.
  • service_account: especifique uma conta de serviço a ser usada com essa transferência de dados. A conta de serviço precisa pertencer ao mesmo projeto do Google Cloud em que a configuração de transferência e o conjunto de dados de destino foram criados. A conta de serviço precisa ter as permissões necessárias storage.objects.list e storage.objects.get.
  • database: especifique o nome do banco de dados do Snowflake que contém as tabelas incluídas nesta transferência de dados.
  • schema: especifique o nome do esquema do Snowflake que contém as tabelas incluídas nesta transferência de dados.
  • table_name_patterns: especifique uma tabela para transferir inserindo um nome ou um padrão que corresponda ao nome da tabela no esquema. Você pode usar expressões regulares para especificar o padrão, por exemplo, table1_regex;table2_regex. O padrão deve seguir a sintaxe da expressão regular do Java. Por exemplo,

    • lineitem;ordertb corresponde às tabelas chamadas lineitem e ordertb.
    • .* corresponde a todas as tabelas.

      Também é possível deixar esse campo em branco para migrar todas as tabelas do esquema especificado.

  • ingestion_mode: especifique o modo de ingestão da transferência. Os valores aceitos são FULL e INCREMENTAL. Para mais informações, consulte Comportamento da ingestão de dados.

  • translation_output_gcs_path: (opcional) especifique um caminho para a pasta do Cloud Storage que contém os arquivos de mapeamento de esquema do mecanismo de tradução. Você pode deixar esse campo em branco para que o conector do Snowflake detecte automaticamente seu esquema.

    • O caminho precisa seguir o formato gs://translation_target_base_uri/metadata/config/db/schema/ e terminar com /.
  • storage_integration_object_name: especifique o nome do objeto de integração de armazenamento do Snowflake.

  • cloud_provider: insira AWS, AZURE ou GCP, dependendo de qual provedor de nuvem está hospedando sua conta do Snowflake.

  • staging_s3_uri: insira o URI do bucket do S3 para usar como uma área de preparo. Obrigatório apenas quando seu cloud_provider é AWS.

  • aws_access_key_id: insira o par de chaves de acesso. Obrigatório apenas quando seu cloud_provider é AWS.

  • aws_secret_access_key: insira o par de chaves de acesso. Obrigatório apenas quando seu cloud_provider é AWS.

  • azure_storage_account: insira o nome da conta de armazenamento para usar como uma área de preparação. Obrigatório apenas quando seu cloud_provider é AZURE.

  • staging_azure_container: insira o contêiner no Armazenamento de Blobs do Azure para usar como uma área de preparação. Obrigatório apenas quando seu cloud_provider é AZURE.

  • azure_sas_token: insira o token SAS. Obrigatório apenas quando seu cloud_provider é AZURE.

  • staging_gcs_uri : insira o URI do Cloud Storage para usar como uma área de preparação. Obrigatório apenas quando seu cloud_provider é GCP.

  • use_private_network: se você estiver criando uma transferência de dados privados, defina como TRUE.

  • service_attachment: se você estiver criando uma transferência de dados particular, especifique o URI do anexo de serviço. Para mais informações, consulte Criar uma configuração de transferência privada do Snowflake.

  • private_network_service: se você estiver criando uma transferência de dados particular, especifique o autolink do serviço NLB. Para mais informações, consulte Criar uma configuração de transferência privada do Snowflake.

Por exemplo, para uma conta do Snowflake hospedada na AWS, o comando a seguir cria uma transferência do Snowflake chamada Snowflake transfer config com um conjunto de dados de destino chamado your_bq_dataset e um projeto com o ID your_project_id.

  PARAMS='{
  "account_identifier": "your_account_identifier",
  "auth_mechanism": "KEY_PAIR",
  "aws_access_key_id": "your_access_key_id",
  "aws_secret_access_key": "your_aws_secret_access_key",
  "cloud_provider": "AWS",
  "database": "your_sf_database",
  "ingestion_mode": "INCREMENTAL",
  "private_key": "-----BEGIN PRIVATE KEY----- privatekey\nseparatedwith\nnewlinecharacters=-----END PRIVATE KEY-----",
  "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/metadata/config/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

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

Especificar a chave de criptografia com transferências

É possível especificar chaves de criptografia gerenciadas pelo cliente (CMEKs, na sigla em inglês) para criptografar dados de uma execução de transferência. É possível usar uma CMEK para dar suporte a transferências do Snowflake.

Quando você especifica uma CMEK com uma transferência, o serviço de transferência de dados do BigQuery aplica a CMEK a qualquer cache intermediário no disco de dados ingeridos para que todo o fluxo de trabalho de transferência de dados fique em conformidade com a CMEK.

Não é possível atualizar uma transferência atual para adicionar uma CMEK se a transferência não tiver sido criada originalmente com uma CMEK. Por exemplo, não é possível alterar uma tabela de destino que, originalmente, estava criptografada por padrão, para ser criptografada com CMEKs. Por outro lado, também não é possível alterar uma tabela de destino criptografada por CMEK para ter um tipo diferente de criptografia.

É possível atualizar uma CMEK para uma transferência se a configuração de transferência tiver sido criada originalmente com uma criptografia CMEK. Quando você atualiza uma CMEK para uma configuração de transferência, o serviço de transferência de dados do BigQuery propaga a CMEK para as tabelas de destino na próxima execução da transferência, em que o serviço de transferência de dados do BigQuery substitui todas as CMEKs desatualizadas pela nova CMEK durante a execução da transferência. Para saber mais, consulte Atualizar uma transferência.

Também é possível usar as chaves padrão do projeto. Quando você especifica uma chave padrão do projeto com uma transferência, o serviço de transferência de dados do BigQuery a usa como padrão para qualquer nova configuração de transferência.

Cotas e limites

O BigQuery tem uma cota de carregamento de 15 TB para cada job de carregamento de cada tabela por padrão. Internamente, o Snowflake compacta os dados da tabela. Portanto, o tamanho da tabela exportada é maior do que o informado pelo Snowflake. Para carregar tabelas maiores que 15 TB, entre em contato com dts-migration-preview-support@google.com.

Para melhorar os tempos de carregamento de tabelas maiores, especifique o tipo de serviço PIPELINE para sua atribuição de reserva.

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

Preços

Para informações sobre os preços do serviço de transferência de dados do BigQuery, consulte a página Preços.

  • Se o data warehouse do Snowflake e o bucket do Amazon S3 estiverem em regiões diferentes, o Snowflake vai aplicar cobranças de saída ao executar uma transferência de dados do Snowflake. Não há cobranças de saída para transferências de dados do Snowflake se o data warehouse do Snowflake e o bucket do Amazon S3 estiverem na mesma região.
  • Quando os dados são transferidos da AWS para Google Cloud, são aplicadas cobranças de saída entre nuvens.

A seguir