Esta página descreve como carregar dados de uma instância do Amazon Redshift para o Google Cloud com o Cloud Data Fusion. O conetor de origem do Redshift permite-lhe sincronizar tabelas do seu conjunto de dados do Redshift com o seu destino, como o BigQuery. O conetor também lhe permite criar uma consulta SQL configurável.
Antes de começar
- As versões 6.9.0 e posteriores do Cloud Data Fusion suportam a origem do Redshift.
Quando configura o conetor de origem do Redshift, pode selecionar uma ligação existente e reutilizável ou criar uma nova ligação única. Para mais informações, consulte o artigo Faça a gestão das associações. Quando reutiliza uma associação, tenha em atenção o seguinte:
- Não tem de fornecer credenciais.
- A ligação existente fornece as informações do esquema e do nome da tabela que são usadas para gerar a consulta de importação.
Configure o plug-in
Aceda à interface Web do Cloud Data Fusion e clique em Studio.
Verifique se a opção Data Pipeline - Batch está selecionada (e não Tempo Real).
No menu Origem, clique em Redshift. O nó do Redshift aparece no seu pipeline. Se não vir a origem do Redshift na página do Studio, implemente o conetor de origem do Redshift a partir do hub do Cloud Data Fusion.
Para configurar a origem, aceda ao nó do Redshift e clique em Propriedades.
Introduza as seguintes propriedades. Para ver uma lista completa, consulte as Propriedades.
- Introduza uma etiqueta para o nó do Redshift, por exemplo,
Redshift tables. Introduza os detalhes da associação. Pode configurar uma nova associação única ou uma associação existente reutilizável.
Nova associação
Para adicionar uma ligação única ao Redshift, siga estes passos:
- Mantenha a opção Usar ligação desativada.
- No campo Nome do controlador JDBC, introduza o nome do controlador. O Redshift suporta dois tipos de controladores JDBC: CData e Amazon. Para mais informações, consulte o artigo Carregue um controlador JDBC.
- No campo Anfitrião, introduza o ponto final do cluster do Redshift, por exemplo,
cdf-redshift-new.example-endpoint.eu-west-1.redshift.amazonaws.com. - Opcional: no campo Porta, introduza um número da porta da base de dados, por exemplo,
5439. Se a sua base de dados Redshift exigir autenticação, faça o seguinte:
- No campo Nome de utilizador, introduza o nome da base de dados.
- No campo Palavra-passe, introduza a palavra-passe da base de dados.
- Opcional: no campo Arguments, introduza argumentos de valor-chave. Para usar o controlador CData, forneça os argumentos de ligação, como RTK ou OEMKey, se aplicável.
- No campo Nome, introduza um nome, por exemplo,
SN-PC-Source-01-01-2024. - Introduza o nome da base de dados de destino no campo Base de dados, por exemplo,
datafusiondb.
Ligação reutilizável
Para reutilizar uma associação existente, siga estes passos:
- Ative a opção Usar ligação.
- Clique em Procurar associações.
Clique no nome da associação.
Opcional: se não existir uma associação e quiser criar uma nova associação reutilizável, clique em Adicionar associação e consulte os passos no separador Nova associação nesta página.
No campo Importar consulta, introduza uma consulta com os nomes do esquema e da tabela da sua origem do Redshift, por exemplo,
Select * from "public"."users".Opcional: introduza propriedades avançadas, como uma consulta de limite ou o número de divisões. Para todas as descrições de propriedades, consulte o artigo Propriedades.
- Introduza uma etiqueta para o nó do Redshift, por exemplo,
Opcional: clique em Validar e resolva os erros encontrados.
Clique em Fechar. As propriedades são guardadas e pode continuar a criar o seu pipeline de dados na interface Web do Cloud Data Fusion.
Propriedades
| Propriedade | Suporta macros para automatização | Propriedade obrigatória | Descrição |
|---|---|---|---|
| Etiqueta | Não | Sim | O nome do nó no pipeline de dados. |
| Usar ligação | Não | Não | Procure uma associação à origem. Se a opção Usar ligação estiver ativada, não tem de fornecer credenciais. |
| Ligação | Sim | Sim | Nome da associação a usar. Se a opção Usar ligação estiver selecionada, este campo é apresentado. As informações da base de dados e da tabela são fornecidas pela associação. |
| Nome do controlador JDBC | Sim | Sim | Nome do controlador JDBC a usar. Se a opção Usar ligação não estiver selecionada, este campo é apresentado. |
| Anfitrião | Sim | Sim | O ponto final do cluster do Amazon Redshift. Se a opção Usar ligação não estiver selecionada, este campo é apresentado. |
| Porta | Sim | Não | Porta na qual o Redshift está a ser executado. Se a opção Usar ligação não estiver selecionada, este campo é apresentado. |
| Nome de utilizador | Sim | Não | Identidade do utilizador para estabelecer ligação à base de dados especificada. Se a opção Usar ligação não estiver selecionada, este campo é apresentado. |
| Palavra-passe | Sim | Não | Palavra-passe a usar para estabelecer ligação à base de dados especificada. Se a opção Usar ligação não estiver selecionada, este campo é apresentado. |
| Argumentos de ligação | Sim | Não | Uma lista de pares de chave-valor de strings arbitrárias como argumentos de ligação. Estes argumentos são transmitidos ao controlador JDBC como argumentos de ligação para controladores JDBC que possam precisar de configurações adicionais. Se a opção Usar ligação não estiver selecionada, este campo é apresentado. |
| Nome de referência | Não | Sim | Identifica exclusivamente esta origem para a linhagem, a anotação de metadados e outros serviços. |
| Base de dados | Sim | Sim | Nome da base de dados do Redshift. Para selecionar dados, clique em Procurar base de dados. |
| Consulta de importação | Sim | Sim | A consulta SELECT a usar para importar dados da tabela especificada. |
| Consulta delimitadora | Sim | Não | Consulta SQL que devolve os valores mínimo e máximo do campo splitBy. Por exemplo,
SELECT MIN(id),MAX(id) FROM table. Não é obrigatório se
numSplits estiver definido como um. |
| Dividir coluna | Sim | Não | Nome do campo usado para gerar divisões. Não é obrigatório se
numSplits estiver definido como um. |
| Número de divisões | Sim | Não | Número de divisões a gerar. |
| Tamanho | Sim | Não | O número de linhas a obter de cada vez por divisão. Um tamanho de obtenção maior
pode resultar numa importação mais rápida, com a desvantagem de uma utilização
de memória mais elevada. Se não for especificado, o valor predefinido é 1000. |
Mapeamentos de tipos de dados
A tabela seguinte é 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 seguintes práticas recomendadas aplicam-se quando se liga a um cluster do Redshift a partir do Google Cloud.
Use listas de autorizações de endereços IP
Para impedir o acesso a partir de fontes não autorizadas e restringir o acesso a endereços IP específicos, ative os controlos de acesso no cluster do Redshift.
Se usar controlos de acesso do Redshift, para aceder ao cluster no Cloud Data Fusion, siga estes passos:
- Obtenha os endereços IP externos dos serviços ou das máquinas que têm de se ligar ao cluster do Redshift, como o IP do servidor proxy (consulte Ver endereços IP).Google Cloud Para clusters do Dataproc, obtenha os endereços IP de todos os nós principais e secundários.
Adicione os endereços IP a uma lista de autorizaçõ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 associação no Wrangler e teste-as:
- Abra a instância do Cloud Data Fusion na interface Web.
- Clique em Wrangler > Adicionar ligação e crie a nova ligação para o Redshift.
- Introduza todas as propriedades de ligação.
- Clique em Testar ligação e resolva eventuais problemas.
Para criar várias divisões, use consultas de limites
Para várias divisões, use consultas de limite para gerir o cluster de vários nós. Em cenários em que extrai dados do Redshift e distribui a carga uniformemente por cada nó, configure uma consulta de limite nas propriedades do conector de origem do Redshift.
- No pipeline do Cloud Data Fusion na página Studio, aceda ao nó do Redshift e clique em Propriedades.
Nas propriedades Avançadas, especifique o seguinte:
- Introduza o número de divisões a criar.
- Introduza o tamanho da obtenção para cada divisão.
- Introduza uma consulta de limite para aplicar ao cluster do Redshift com vários nós.
- Introduza o nome do campo Coluna dividida.
Por exemplo, suponha que tem o seguinte exemplo de utilização:
- Tem uma tabela que contém 10 milhões de registos.
- Tem uma coluna de ID exclusivo denominada
id. - O cluster do Redshift tem 4 nós.
Objetivo: para tirar partido do potencial do cluster, planeia gerar várias divisões. Para o conseguir, use as seguintes configurações de propriedades:
No campo Consulta delimitadora, introduza a seguinte consulta:
SELECT MIN(id), MAX(id) FROM tableNameNesta consulta,
idé o nome da coluna onde as divisões são aplicadas.No campo Dividir coluna, introduza o nome da coluna,
id.Introduza o número de divisões e o tamanho da obtenção. Estas propriedades estão interligadas, o que lhe permite calcular divisões com base num tamanho de obtenção ou vice-versa. Para este exemplo, introduza o seguinte.
No campo Número de divisões, introduza
40. Neste exemplo, em que a tabela tem dez milhões de registos, a criação de 40 divisões resulta em cada divisão com 250 mil registos.No campo Tamanho da obtenção, introduza
250,000.
O que se segue?
- Consulte os plug-ins do Cloud Data Fusion.