Origem de lote do Redshift

Nesta página, descrevemos como carregar dados de uma instância do Amazon Redshift para o Google Cloud Cloud Data Fusion. O conector de origem do Redshift permite sincronizar tabelas do 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ões 6.9.0 e mais recentes oferecem suporte à origem do Redshift.
  • Ao configurar o conector de origem do Redshift, é possível selecionar uma conexão 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 (e não Em tempo real).

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

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

  5. Insira as propriedades a seguir. 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 conexão única ou uma conexão 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 Porta , 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-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 Banco de dados , por exemplo, datafusiondb.

      Conexão reutilizável

      Para reutilizar uma conexão atual, 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 Consulta de importação, insira uma consulta usando o esquema e os nomes das tabelas da origem do Redshift, por exemplo, Select * from "public"."users".

    4. Opcional: insira propriedades Avançadas, como uma consulta de caixa delimitadora ou o número de divisões. Para todas as descrições de propriedades, 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 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. Esse campo aparece se a opção Usar conexão estiver selecionada. 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. Esse campo aparece se a opção Usar conexão não estiver selecionada.
Host Sim Sim O endpoint do cluster do Amazon Redshift. Esse campo aparece se a opção Usar conexão não estiver selecionada.
Porta Sim Não Porta em que o Redshift está em execução. Esse campo aparece se a opção Usar conexão não estiver selecionada.
Nome de usuário Sim Não Identidade do usuário para se conectar ao banco de dados especificado. Esse campo aparece se a opção Usar conexão não estiver selecionada.
Senha Sim Não Senha a ser usada para se conectar ao banco de dados especificado. Esse campo aparece se a opção Usar conexão não estiver selecionada.
Argumentos de conexão Sim Não Uma lista de pares de chave-valor de string arbitrária como argumentos de conexão. Esses argumentos são transmitidos ao driver JDBC como argumentos de conexão para drivers JDBC que podem precisar de configurações adicionais. Esse campo aparece se a opção Usar conexão não estiver selecionada.
Nome de referência Não Sim Identifica exclusivamente essa origem para 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.
Consulta de importação Sim Sim A consulta SELECT a ser usada para importar dados da tabela especificada.
Consulta de caixa delimitadora Sim Não Consulta SQL que retorna os valores mínimos e máximos do splitBy campo. 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 buscadas por vez por divisão. Um tamanho de busca maior pode resultar em uma importação mais rápida, com a desvantagem 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 de 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(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 no Google Cloud.

Usar listas de permissões de endereço IP

Para evitar 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ê usar os controles de acesso do Redshift, siga estas etapas para acessar o cluster no Cloud Data Fusion:

  1. Consiga os endereços IP externo dos serviços ou máquinas que precisam se conectar ao cluster do Redshift, como o IP do servidor proxy (consulte Como visualizar endereços IP).Google Cloud Para clusters do Serviço Gerenciado para Apache Spark, consiga os endereços IP de todos os nós principais 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 Google Cloud endereços IP da máquina.

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

    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 caixa delimitadora

Para várias divisões, use consultas de caixa delimitadora para gerenciar o cluster de vários nós. Em cenários em que você extrai dados do Redshift e distribui a carga de maneira uniforme em cada nó, configure uma consulta de caixa delimitadora 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 Propriedades.
  2. Nas propriedades Avançadas, 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 de caixa delimitadora a ser aplicada ao cluster do Redshift de vários nós.
    4. Insira o nome do campo Dividir coluna.

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

  • Você tem uma tabela que contém 10 milhões de registros.
  • Ela tem uma coluna 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 as seguintes configurações de propriedade:

    • No campo Consulta de caixa delimitadora, insira a seguinte consulta:

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

      Nessa 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 da busca. Essas propriedades estão interconectadas, permitindo calcular divisões com base em um tamanho de busca ou vice-versa. Para este exemplo, insira 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