Fonte em lote do Redshift

Esta página descreve como carregar dados de uma instância do Amazon Redshift no Google 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

  • O Cloud Data Fusion versão 6.9.0 e mais recentes têm suporte à 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 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 nome da tabela e do esquema usado para gerar a consulta de importação.

Configurar o plug-in

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

  2. Verifique se Pipeline de dados - Lote está selecionado (não Tempo real).

  3. No menu Origem, clique em Redshift. O nó do Redshift aparece 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. Você pode configurar uma nova conexão única, ou uma conexão atual 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 Faça upload de um driver JDBC.
      3. No campo Host, insira o endpoint do Redshift cluster, por exemplo, cdf-redshift-new.example-endpoint.eu-west-1.redshift.amazonaws.com
      4. Opcional: no campo Porta, insira uma porta do banco de dados número, 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 no seu 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, digite 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, 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 um delimitador ou o número de divisões. Para todas as descrições de propriedade, consulte Propriedades:

  6. Opcional: clique em Validar e resolva 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 Oferece 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 origem. Se Usar conexão está ativado, não é necessário fornecer credenciais.
Conexão Sim Sim Nome da conexão a ser usada. Se Usar conexão for selecionado, esse campo será exibido. 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 Usar conexão não estiver selecionada, este campo será exibido.
Host Sim Sim O endpoint do cluster do Amazon Redshift. Se Usar conexão não estiver selecionada, este campo será exibido.
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 passados para o driver JDBC como conexão argumentos 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 no banco de dados.
Importar consulta Sim Sim A consulta SELECT a ser usada para importar dados do 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. Tamanhos de busca maiores podem resultar em 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 o CDAP correspondente tipos:

Tipo de dados do Redshift Tipo de dados do esquema do CDAP
bigint long
boolean boolean
character string
character varying string
date date
double precision double
geometry bytes
hllsketch string
integer int
json string
numeric(precision, scale)/decimal(precision, scale) 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 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. Obtenha 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 visualizar endereços IP). Para clusters do Dataproc, acesse os endereços IP de todos os nós mestres 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 do 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 todos 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 da busca para cada divisão.
    3. Insira uma consulta delimitadora para aplicar ao cluster do Redshift de vários nós.
    4. Digite o nome do campo Dividir coluna.

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

  • Uma tabela contém 10 milhões de registros.
  • Ela tem uma coluna de ID exclusivo 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 a seguinte propriedade de configuração:

    • 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 Dividir coluna, insira o nome da coluna, id.

    • Insira o número de divisões e o tamanho de busca. Essas propriedades são interconectadas, o que permite calcular divisões com base no tamanho da busca, ou vice-versa. Para este exemplo, digite o seguinte:

    • No campo Número de divisões, insira 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, insira 250,000.

A seguir