Como usar o BigQuery como origem para AWS SCT - AWS Schema Conversion Tool

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Como usar o BigQuery como origem para AWS SCT

Você pode usar a AWS SCT para converter esquemas, objetos de código e código de aplicativo do BigQuery para o Amazon Redshift.

Privilégios do BigQuery como origem

Para usar um data warehouse do BigQuery como origem em AWS SCT, crie uma conta de serviço. No Google Cloud, os aplicativos usam contas de serviço para fazer chamadas de API autorizadas. As contas de serviço são diferentes das contas de usuário. Para obter mais informações, consulte Contas de serviço na documentação do Gerenciamento de acesso e identidade do Google Cloud.

Certifique-se de conceder as seguintes funções à sua conta de serviço:

  • BigQuery Admin

  • Storage Admin

A função BigQuery Admin fornece permissões para gerenciar todos os recursos do projeto. A AWS SCT usa essa função para carregar seus metadados do BigQuery no projeto de migração.

A função Storage Admin concede controle total sobre objetos e buckets de dados. Você pode encontrar essa função em Cloud Storage. A AWS SCT usa essa função para extrair seus dados do BigQuery e depois carregá-los no Amazon Redshift.

Para criar um arquivo de chave da conta de serviço
  1. Faça login no console de gerenciamento do Google Cloud em https://console.cloud.google.com/.

  2. Na página da API do BigQuery, escolha Ativar. Ignore esta etapa se você vir a API ativada.

  3. Na página Contas de serviço, escolha seu projeto e, em seguida, escolha Criar conta de serviço.

  4. Na página Detalhes da conta de serviço, insira um valor descritivo para o Nome da conta de serviço. Escolha Criar e continuar. A página Conceder à conta de serviço acesso ao projeto é aberta.

  5. Em Selecionar uma função, escolha BigQuery e, em seguida, escolha BigQuery Admin.

  6. Escolha Adicionar outra função. Em Selecionar uma função, escolha Armazenamento na nuvem e, em seguida, escolha Storage Admin.

  7. Escolha Continuar e, em seguida, escolha Salvar.

  8. Na página Contas de serviço, escolha a conta de serviço que você criou.

  9. Escolha Chaves e, em seguida, escolha Criar nova chave em Adicionar chave.

  10. Selecione JSON e, em seguida, escolha Criar. Escolha a pasta para salvar sua chave privada ou selecione a pasta padrão para downloads em seu navegador.

Para extrair dados de um data warehouse do BigQuery, a AWS SCT usa a pasta de bucket do Google Cloud Storage. Crie esse bucket antes de iniciar a migração de dados. Insira o caminho para sua pasta de bucket do Google Cloud Storage na caixa de diálogo Criar tarefa local. Para obter mais informações, consulte Criando, executando e monitorando uma AWS SCT tarefa.

Como se conectar ao BigQuery como origem

Use o procedimento a seguir para conectar seu projeto de origem do BigQuery com a AWS Schema Conversion Tool.

Para se conectar a um data warehouse de origem do BigQuery
  1. Na AWS Schema Conversion Tool, escolha Adicionar origem.

  2. Escolha BigQuery e, em seguida, escolha Avançar.

    A caixa de diálogo Adicionar origem é exibida.

  3. Em Nome da conexão, insira um nome para o projeto do BigQuery. A AWS SCT exibe esse nome na árvore no painel esquerdo.

  4. Em Caminho da chave, insira o caminho para o arquivo de chave da conta de serviço. Para obter mais informações sobre a criação desse arquivo, consulte a Privilégios do BigQuery como origem.

  5. Escolha Testar conexão para verificar se a AWS SCT pode se conectar ao seu projeto de origem do BigQuery.

  6. Escolha Conectar para se conectar ao seu projeto de origem do BigQuery.

Limitações de uso do BigQuery como origem da AWS SCT

As limitações a seguir se aplicam ao uso do BigQuery como origem da AWS SCT:

  • A AWS SCT não suporta a conversão de subconsultas em funções analíticas.

  • Você não pode usar a AWS SCT para converter as declarações SELECT AS STRUCT e SELECT AS VALUE do BigQuery.

  • A AWS SCT não suporta a conversão dos seguintes tipos de funções:

    • Agregado aproximado

    • Bit

    • Depuração

    • Consulta federada

    • Geografia

    • Hash

    • Matemáticas

    • Net

    • Agregado estatístico

    • UUID

  • A AWS SCT fornece suporte limitado para a conversão de funções de string.

  • A AWS SCT não suporta a conversão de operadores UNNEST.

  • Você não pode converter operações de junção correlacionadas em AWS SCT.

  • A AWS SCT não suporta a conversão de cláusulas QUALIFY, WINDOW, LIMIT e OFFSET.

  • Você não pode usar a AWS SCT para converter expressões de tabela comuns recursivas.

  • A AWS SCT não suporta a conversão de declarações INSERT com subconsultas dentro de cláusulas VALUES.

  • A AWS SCT não suporta a conversão de declarações UPDATE para campos aninhados e registros repetidos.

  • Você não pode usar a AWS SCT para converter tipos de dados STRUCT e ARRAY.

Configurações de conversão do BigQuery para o Amazon Redshift

Para editar as configurações de conversão do BigQuery para o Amazon Redshift, escolha Configurações em AWS SCT e, em seguida, escolha Configurações de conversão. Na lista superior, escolha Google BigQuery e, em seguida, escolha Google BigQuery — Amazon Redshift. A AWS SCT exibe todas as configurações disponíveis para conversão do BigQuery para o Amazon Redshift.

As configurações de conversão do BigQuery para o Amazon Redshift em AWS SCT incluem opções para o seguinte:

  • Para limitar o número de comentários com itens de ação no código convertido.

    Em Adicionar comentários no código convertido para os itens de ação de severidade selecionada e superior, escolha a severidade dos itens de ação. A AWS SCT adiciona comentários no código convertido para itens de ação da severidade selecionada e superior.

    Por exemplo, para minimizar o número de comentários em seu código convertido, escolha Somente erros. Para incluir comentários para todos os itens de ação em seu código convertido, escolha Todas as mensagens.

  • Para definir o número máximo de tabelas que a AWS SCT pode aplicar ao seu cluster do Amazon Redshift de destino.

    Em O número máximo de tabelas para o cluster do Amazon Redshift de destino, escolha o número de tabelas que a AWS SCT pode aplicar ao seu cluster do Amazon Redshift.

    O Amazon Redshift tem cotas que limitam as tabelas de uso para diferentes tipos de nós de cluster. Se você escolher Auto, a AWS SCT determinará o número de tabelas a serem aplicadas ao seu cluster do Amazon Redshift de destino, dependendo do tipo de nó. Opcionalmente, escolha o valor manualmente. Para obter mais informações, consulte “Cotas e limites no Amazon Redshift” no Guia de gerenciamento de clusters do Amazon Redshift.

    A AWS SCT converte todas as suas tabelas de origem, mesmo que isso seja mais do que o seu cluster do Amazon Redshift pode armazenar. A AWS SCT armazena o código convertido em seu projeto e não o aplica ao banco de dados de destino. Se você atingir a cota de cluster do Amazon Redshift para as tabelas ao aplicar o código convertido, a AWS SCT exibirá uma mensagem de aviso. Além disso, a AWS SCT aplica tabelas ao seu cluster do Amazon Redshift de destino até que o número de tabelas atinja o limite.

  • Para aplicar compactação às colunas da tabela do Amazon Redshift. Para fazer isso, selecione Usar codificação de compressão.

    A AWS SCT atribui a codificação de compactação às colunas automaticamente usando o algoritmo padrão do Amazon Redshift. Para obter mais informações, consulte Codificações de compactação no Guia do desenvolvedor de banco de dados do Amazon Redshift.

    Por padrão, o Amazon Redshift não aplica compactação a colunas definidas como chaves de classificação e distribuição. É possível alterar esse comportamento e aplicar compactação a essas colunas. Para fazer isso, selecione Usar codificação de compactação para colunas KEY. Você pode selecionar essa opção somente ao selecionar a opção Usar codificação de compactação.

Configurações de otimização de conversão do BigQuery para o Amazon Redshift

Para editar as configurações de otimização de conversão do BigQuery para o Amazon Redshift, escolha Configurações em AWS SCT e, em seguida, escolha Configurações de conversão. Na lista superior, escolha Google BigQuery e, em seguida, escolha Google BigQuery — Amazon Redshift. No painel esquerdo, escolha Estratégias de otimização. A AWS SCT exibe as configurações de otimização de conversão da conversão do BigQuery para o Amazon Redshift.

As configurações de otimização de conversão do BigQuery para o Amazon Redshift em AWS SCT incluem opções para o seguinte:

  • Para trabalhar com otimização automática de tabelas. Para fazer isso, selecione Usar o ajuste automático da tabela do Amazon Redshift.

    A otimização automática de tabelas é um processo de autoajuste no Amazon Redshift que otimiza automaticamente o design de tabelas. Para obter mais informações, consulte Como trabalhar com a otimização automática de tabelas no Guia do desenvolvedor do banco de dados Amazon Redshift.

    Para confiar somente na otimização automática da tabela, escolha Nenhuma para a Estratégia inicial de seleção de chave.

  • Para escolher chaves de classificação e distribuição usando sua estratégia.

    Você pode escolher chaves de classificação e distribuição usando metadados, informações estatísticas ou ambas as opções do Amazon Redshift. Para Estratégia inicial de seleção de chave na guia Estratégias de otimização, escolha uma das seguintes opções:

    • Use metadados, ignore informações estatísticas

    • Ignore metadados, use informações estatísticas

    • Use metadados e informações estatísticas

    Dependendo da opção escolhida, você pode selecionar estratégias de otimização. Em seguida, para cada estratégia, insira o valor (0-100). Esses valores definem o peso de cada estratégia. Usando esses valores de peso, a AWS SCT define como cada regra influencia na escolha das chaves de distribuição e classificação. Os valores padrão são baseados nas melhores práticas de migração da AWS.

    Você pode definir o tamanho de tabelas pequenas para a estratégia Localizar tabelas pequenas. Em Contagem mínima de linhas da tabela e Contagem máxima de linhas da tabela, insira o número mínimo e máximo de linhas em uma tabela para defini-la como uma tabela pequena. A AWS SCT aplica o estilo de distribuição ALL a tabelas pequenas. Nesse caso, uma cópia de toda a tabela é distribuída para cada nó.

  • Para configurar os detalhes da estratégia.

    Além de definir o peso de cada estratégia de otimização, você pode definir as configurações de otimização. Para fazer isso, escolha Otimização de conversões.

    • Em Limite de colunas da chave de classificação, insira o número máximo de colunas na chave de classificação.

    • Em Valor limite distorcido, insira a porcentagem (0-100) de um valor distorcido para uma coluna. A AWS SCT exclui colunas com o valor de inclinação maior que o limite da lista de candidatos para a chave de distribuição. A AWS SCT define o valor distorcido de uma coluna como a proporção percentual entre o número de ocorrências do valor mais comum e o número total de registros.

    • Para as N principais consultas da tabela do histórico de consultas, insira o número (1-100) das consultas usadas com mais frequência para análise.

    • Em Selecionar usuário de estatísticas, escolha o usuário do banco de dados para o qual você deseja analisar as estatísticas de consulta.

    Além disso, na guia Estratégias de otimização, você pode definir o tamanho das tabelas pequenas para a estratégia Localizar tabelas pequenas. Em Contagem mínima de linhas da tabela e Contagem máxima de linhas da tabela, insira o número mínimo e máximo de linhas em uma tabela para considerá-la como uma tabela pequena. A AWS SCT aplica o estilo de distribuição ALL a tabelas pequenas. Nesse caso, uma cópia de toda a tabela é distribuída para cada nó.