A fonte de dados do Amazon Redshift oferece um canal bidirecional para leitura e escrita no Amazon Redshift. Use-a para configurar tarefas de sincronização de dados pela interface visual sem código ou pelo editor de código.
Modos de sincronização compatíveis
|
Capacidade |
Compatível |
|
Sincronização incremental (baseada em cursor, com |
Sim |
|
Leituras simultâneas (com |
Sim |
|
Modo de gravação |
Apenas inserção |
Versões compatíveis
O Amazon Redshift usa o driver redshift-jdbc4.2 versão 2.1.0.1. Para detalhes sobre o driver, consulte Configurar um driver JDBC para o Amazon Redshift.
Tipos de campo compatíveis
A tabela a seguir lista os tipos de campo compatíveis e seus mapeamentos SQL e Java. Para a referência completa de tipos, consulte a documentação oficial do Amazon Redshift.
|
Tipo do Amazon Redshift |
Tipo SQL |
Tipo Java |
|
BIGINT |
SQL_BIGINT |
Long |
|
BOOLEAN |
SQL_BIT |
Boolean |
|
CHAR |
SQL_CHAR |
String |
|
DATE |
SQL_TYPE_DATE |
java.sql.Date |
|
DECIMAL |
SQL_NUMERIC |
BigDecimal |
|
DOUBLE PRECISION |
SQL_DOUBLE |
Double |
|
GEOMETRY |
SQL_LONGVARBINARY |
byte[] |
|
INTEGER |
SQL_INTEGER |
Integer |
|
OID |
SQL_BIGINT |
Long |
|
SUPER |
SQL_LONGVARCHAR |
String |
|
REAL |
SQL_REAL |
Float |
|
SMALLINT |
SQL_SMALLINT |
Short |
|
TEXT |
SQL_VARCHAR |
String |
|
TIME |
SQL_TYPE_TIME |
java.sql.Time |
|
TIMETZ |
SQL_TYPE_TIME |
java.sql.Time |
|
TIMESTAMP |
SQL_TYPE_TIMESTAMP |
java.sql.Timestamp |
|
TIMESTAMPTZ |
SQL_TYPE_TIMESTAMP |
java.sql.Timestamp |
|
VARCHAR |
SQL_VARCHAR |
String |
Pré-requisitos
Antes de começar, verifique se você tem:
Conectividade de rede estabelecida entre o Amazon Redshift e um grupo de recursos serverless ou um grupo de recursos exclusivo para Data Integration. Use grupos de recursos serverless na maioria das tarefas de sincronização. Para instruções de configuração, consulte Soluções de conectividade de rede.
Host, porta, nome do banco de dados, nome de usuário e senha do Amazon Redshift.
Adicionar a fonte de dados
Adicione o Amazon Redshift como fonte de dados no DataWorks seguindo as etapas em Gerenciamento de fontes de dados. Consulte as descrições dos parâmetros no console do DataWorks ao preencher cada campo.
Os parâmetros a seguir são específicos do Amazon Redshift:
JDBC URL: String de conexão Java Database Connectivity (JDBC). Deve incluir o endereço IP do host, número da porta, nome do banco de dados e quaisquer parâmetros de conexão adicionais. Endereços IP públicos e privados são compatíveis. Se usar um endereço IP público, confirme se o grupo de recursos do Data Integration consegue acessar o host do Amazon Redshift.
Username: Nome de usuário do banco de dados Amazon Redshift.
Password: Senha do nome de usuário especificado.
Desenvolver uma tarefa de sincronização de dados
Para configurar uma tarefa de sincronização offline de tabela única, siga o guia correspondente:
Para exemplos e parâmetros de scripts no editor de código, consulte Apêndice: Exemplos de scripts e descrições de parâmetros.
Apêndice: Exemplos de scripts e descrições de parâmetros
Os scripts de Reader e Writer a seguir seguem o formato unificado para tarefas de sincronização em lote. Para requisitos de formatação, consulte Configurar uma tarefa no editor de código.
Reader
Exemplo de script
{
"stepType": "redshift",
"parameter": {
"datasource": "redshift_datasource",
"table": "redshift_table_name",
"where": "xxx=3",
"splitPk": "id",
"column": [
"id",
"table_id",
"table_no",
"table_name",
"table_status"
]
},
"name": "Reader",
"category": "reader"
}
Parâmetros
|
Parâmetro |
Descrição |
Obrigatório |
Padrão |
|
|
Nome da fonte de dados. Deve corresponder exatamente ao nome da fonte de dados adicionada no DataWorks. |
Sim |
Nenhum |
|
|
Nome da tabela de origem. |
Sim |
Nenhum |
|
|
Lista das colunas a sincronizar. Para sincronizar todas as colunas, use |
Sim |
Nenhum |
|
|
Condição de filtro da consulta SQL. Em sincronizações incrementais, use condições como |
Não |
Nenhum |
|
|
Coluna usada para particionamento de dados. Quando especificada, o Reader divide os dados e executa tarefas simultâneas para aumentar o throughput da sincronização. |
Não |
Nenhum |
Writer
Exemplo de script
{
"stepType": "redshift",
"parameter": {
"preSql": ["delete from XXX;"],
"postSql": ["delete from XXX;"],
"datasource": "redshift_datasource",
"table": "redshift_table_name",
"writeMode": "insert",
"batchSize": 2048,
"column": [
"id",
"table_id",
"table_no",
"table_name",
"table_status"
]
},
"name": "Writer",
"category": "writer"
}
Parâmetros
|
Parâmetro |
Descrição |
Obrigatório |
Padrão |
|
|
Nome da fonte de dados. Deve corresponder exatamente ao nome da fonte de dados adicionada no DataWorks. |
Sim |
Nenhum |
|
|
Nome da tabela de destino. |
Sim |
Nenhum |
|
|
Lista das colunas de destino para gravação. Para gravar em todas as colunas respeitando a ordem, use |
Sim |
Nenhum |
|
|
Comandos SQL executados antes do início da tarefa de sincronização, como instruções para limpar dados antigos. A interface visual sem código aceita apenas uma instrução; o editor de código aceita várias. |
Não |
Nenhum |
|
|
Comandos SQL executados após a conclusão da tarefa de sincronização, como a adição de um carimbo de data/hora. A interface visual sem código aceita apenas uma instrução; o editor de código aceita várias. |
Não |
Nenhum |
|
|
Número máximo de linhas gravadas por lote. |
Não |
2048 |
|
|
Modo de gravação. Somente |
Não |
|