Origem de lote do Redshift

Esta página descreve como carregar dados de uma instância do Amazon Redshift para oGoogle Cloud com o Cloud Data Fusion. O conector de origem do Redshift permite sincronizar tabelas do seu conjunto de dados do Redshift com o destino, como o BigQuery. O conector também permite criar uma consulta SQL configurável.

Antes de começar

  • As versões 6.9.0 e mais recentes do Cloud Data Fusion são compatíveis com a origem do Redshift.
  • Ao configurar o conector de origem do Redshift, você pode selecionar uma conexão atual e reutilizável ou criar uma nova conexão única. Para mais informações, consulte Gerenciar conexões. Ao reutilizar uma conexão, observe o seguinte:

    • Não é necessário fornecer credenciais.
    • A conexão atual fornece as informações de esquema e nome da tabela usadas para gerar a consulta de importação.

Configurar o plug-in

  1. Acesse a interface da Web do Cloud Data Fusion e clique em Studio.

  2. Verifique se a opção Pipeline de dados – lote está selecionada (não Tempo real).

  3. No menu Origem, clique em Redshift. O nó do Redshift aparece no seu pipeline. Se a origem do Redshift não aparecer na página Studio, implante o conector de origem do Redshift no Hub do Cloud Data Fusion.

  4. Para configurar a origem, acesse o nó do Redshift e clique em Propriedades.

  5. Insira as seguintes propriedades. Para uma lista completa, consulte Propriedades.

    1. Insira um rótulo para o nó do Redshift, por exemplo, Redshift tables.
    2. Insira os detalhes da conexão. É possível configurar uma nova conexão única ou uma conexão existente e reutilizável.

      Nova conexão

      Para adicionar uma conexão única ao Redshift, siga estas etapas:

      1. Mantenha a opção Usar conexão desativada.
      2. No campo Nome do driver JDBC, insira o nome do driver. O Redshift oferece suporte a dois tipos de drivers JDBC: CData e Amazon. Para mais informações, consulte Fazer upload de um driver JDBC.
      3. No campo Host, insira o endpoint do cluster do Redshift, por exemplo, cdf-redshift-new.example-endpoint.eu-west-1.redshift.amazonaws.com.
      4. Opcional: no campo Port, insira um número de porta do banco de dados, por exemplo, 5439.
      5. Se o banco de dados do Redshift exigir autenticação, faça o seguinte:

        1. No campo Nome de usuário, insira o nome do banco de dados.
        2. No campo Senha, insira a senha do banco de dados.
        3. Opcional: no campo Argumentos, insira argumentos de valor de chave. Para usar o driver CData, forneça os argumentos de conexão, como RTK ou OEMKey, se aplicável.
        4. No campo Nome, insira um nome, por exemplo, SN-PC-Source-01-01-2024.
        5. Insira o nome do banco de dados de destino no campo Database, por exemplo, datafusiondb.

      Conexão reutilizável

      Para reutilizar uma conexão existente, siga estas etapas:

      1. Ative a opção Usar conexão.
      2. Clique em Procurar conexões.
      3. Clique no nome da conexão.

      4. Opcional: se uma conexão não existir e você quiser criar uma nova conexão reutilizável, clique em Adicionar conexão e consulte as etapas na guia Nova conexão desta página.

    3. No campo Import query, insira uma consulta usando os nomes do esquema e da tabela da sua origem do Redshift, por exemplo, Select * from "public"."users".

    4. Opcional: insira propriedades Avançadas, como uma consulta de limite ou o número de divisões. Para todas as descrições de propriedade, consulte Propriedades.

  6. Opcional: clique em Validar e corrija os erros encontrados.

  7. Clique em Fechar. As propriedades são salvas, e você pode continuar criando seu pipeline de dados na interface da Web do Cloud Data Fusion.

Propriedades

Propriedade Suporte a macros para automação Propriedade obrigatória Descrição
Rótulo Não Sim O nome do nó no pipeline de dados.
Usar conexão Não Não Procure uma conexão com a fonte. Se a opção Usar conexão estiver ativada, não será necessário fornecer credenciais.
Conexão Sim Sim Nome da conexão a ser usada. Se a opção Usar conexão estiver selecionada, esse campo vai aparecer. As informações do banco de dados e da tabela são fornecidas pela conexão.
Nome do driver JDBC Sim Sim Nome do driver JDBC a ser usado. Se a opção Usar conexão não estiver selecionada, esse campo vai aparecer.
Host Sim Sim O endpoint do cluster do Amazon Redshift. Se a opção Usar conexão não estiver selecionada, esse campo vai aparecer.
Port Sim Não Porta em que o Redshift está sendo executado. Se a opção Usar conexão não estiver selecionada, esse campo vai aparecer.
Nome de usuário Sim Não Identidade do usuário para se conectar ao banco de dados especificado. Se a opção Usar conexão não estiver selecionada, esse campo vai aparecer.
Senha Sim Não Senha a ser usada para se conectar ao banco de dados especificado. Se a opção Usar conexão não estiver selecionada, esse campo vai aparecer.
Argumentos de conexão Sim Não Uma lista de pares de chave-valor de string arbitrários como argumentos de conexão. Esses argumentos são transmitidos para o driver JDBC como argumentos de conexão para drivers JDBC que podem precisar de configurações adicionais. Se a opção Usar conexão não estiver selecionada, esse campo vai aparecer.
Nome de referência Não Sim Identifica exclusivamente essa origem para definir linhagem, anotação de metadados e outros serviços.
banco de dados Sim Sim Nome do banco de dados do Redshift. Para selecionar dados, clique em Procurar banco de dados.
Importar consulta Sim Sim A consulta SELECT a ser usada para importar dados da tabela especificada.
Consulta delimitadora Sim Não Consulta SQL que retorna os valores mínimo e máximo do campo splitBy. Por exemplo, SELECT MIN(id),MAX(id) FROM table. Não é necessário se numSplits estiver definido como um.
Dividir coluna Sim Não Nome do campo usado para gerar divisões. Não é necessário se numSplits estiver definido como um.
Número de divisões Sim Não Número de divisões a serem geradas.
Tamanho Sim Não O número de linhas a serem extraídas por divisão. Um tamanho de busca maior pode resultar em uma importação mais rápida, com a compensação de maior uso de memória. Se não for especificado, o padrão será 1000.

Mapeamentos de tipo de dados

A tabela a seguir é uma lista de tipos de dados do Redshift com os tipos CDAP correspondentes:

Tipo de dados do Redshift Tipo de dados do esquema CDAP
bigint long
boolean boolean
character string
character varying string
date date
double precision double
geometry bytes
hllsketch string
integer int
json string
numeric(precisão, escala)/decimal(precisão, escala) decimal
numeric com precisão 0 string
real float
smallint int
super string
text string
time [ (p) ] sem fuso horário time
time [ (p) ] com fuso horário string
timestamp [ (p) ] sem fuso horário timestamp
timestamp [ (p) ] com fuso horário timestamp
varbyte byte
xml string

Práticas recomendadas

As práticas recomendadas a seguir se aplicam quando você se conecta a um cluster do Redshift do Google Cloud.

Usar listas de permissões de endereços IP

Para impedir o acesso de fontes não autorizadas e restringir o acesso a endereços IP específicos, ative os controles de acesso no cluster do Redshift.

Se você usa controles de acesso do Redshift, siga estas etapas para acessar o cluster no Cloud Data Fusion:

  1. Encontre os endereços IP externos dos serviços ou máquinas no Google Cloud que precisam se conectar ao cluster do Redshift, como o IP do servidor proxy (consulte Como conferir endereços IP). Para clusters do Dataproc, obtenha os endereços IP de todos os nós mestre e filhos.
  2. Adicione os endereços IP a uma lista de permissões nos grupos de segurança criando as regras de entrada para os endereços IP da máquina Google Cloud .

  3. Adicione e teste as propriedades de conexão no Wrangler:

    1. Abra a instância do Cloud Data Fusion na interface da Web.
    2. Clique em Wrangler > Adicionar conexão e crie a nova conexão para o Redshift.
    3. Insira todas as propriedades de conexão.
    4. Clique em Testar conexão e resolva os problemas.

Para criar várias divisões, use consultas de limite

Para várias divisões, use consultas de limite para gerenciar o cluster de vários nós. Em situações em que você extrai dados do Redshift e distribui a carga uniformemente em cada nó, configure uma consulta de limite nas propriedades do conector de origem do Redshift.

  1. No pipeline do Cloud Data Fusion na página Studio, acesse o nó do Redshift e clique em Properties.
  2. Nas propriedades Avançado, especifique o seguinte:

    1. Insira o número de divisões a serem criadas.
    2. Insira o tamanho de busca de cada divisão.
    3. Insira uma consulta de limite para aplicar ao cluster do Redshift com vários nós.
    4. Insira o nome do campo Coluna dividida.

Por exemplo, suponha que você tenha o seguinte caso de uso:

  • Você tem uma tabela com 10 milhões de registros.
  • Ela tem uma coluna de ID exclusiva chamada id.
  • O cluster do Redshift tem quatro nós.
  • Objetivo: para aproveitar o potencial do cluster, você planeja gerar várias divisões. Para isso, use as seguintes configurações de propriedade:

    • No campo Consulta de limite, insira a seguinte consulta:

      SELECT MIN(id), MAX(id) FROM tableName
      

      Nesta consulta, id é o nome da coluna em que as divisões são aplicadas.

    • No campo Coluna dividida, insira o nome da coluna, id.

    • Insira o número de divisões e o tamanho de busca. Essas propriedades são interligadas, permitindo calcular divisões com base em um tamanho de busca ou vice-versa. Neste exemplo, insira o seguinte.

    • No campo Número de divisões, digite 40. Neste exemplo, em que a tabela tem dez milhões de registros, a criação de 40 divisões resulta em cada divisão contendo 250.000 registros.

    • No campo Tamanho da busca, digite 250,000.

A seguir