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 tableName
Nesta 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.