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
Acesse a interface da Web do Cloud Data Fusion e clique em Studio.
Verifique se a opção Pipeline de dados - lote está selecionada (e não Em tempo real).
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.
Para configurar a origem, acesse o nó do Redshift e clique em Propriedades.
Insira as propriedades a seguir. Para uma lista completa, consulte Propriedades.
- Insira um rótulo para o nó do Redshift, por exemplo,
Redshift tables. 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:
- Mantenha a opção Usar conexão desativada.
- 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.
- No campo Host , insira o endpoint do cluster do Redshift, por exemplo,
cdf-redshift-new.example-endpoint.eu-west-1.redshift.amazonaws.com. - Opcional: no campo Porta , insira um número de porta do banco de dados, por exemplo,
5439. Se o banco de dados do Redshift exigir autenticação, faça o seguinte:
- No campo Nome de usuário, insira o nome do banco de dados.
- No campo Senha, insira a senha do banco de dados.
- 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.
- No campo Nome , insira um nome, por exemplo,
SN-PC-Source-01-01-2024. - 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:
- Ative a opção Usar conexão.
- Clique em Procurar conexões.
Clique no nome da conexão.
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.
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".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.
- Insira um rótulo para o nó do Redshift, por exemplo,
Opcional: clique em Validar e resolva os erros encontrados.
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:
- 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.
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.
Adicione as propriedades de conexão no Wrangler e teste-as:
- Abra a instância do Cloud Data Fusion na interface da Web.
- Clique em Wrangler > Adicionar conexão e crie a nova conexão para o Redshift.
- Insira todas as propriedades de conexão.
- 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.
- No pipeline do Cloud Data Fusion na página Studio, acesse o nó do Redshift e clique em Propriedades.
Nas propriedades Avançadas, especifique o seguinte:
- Insira o número de divisões a serem criadas.
- Insira o tamanho da busca para cada divisão.
- Insira uma consulta de caixa delimitadora a ser aplicada ao cluster do Redshift de vários nós.
- 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 tableNameNessa 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
- Confira os plug-ins do Cloud Data Fusion.