Use um nó de sincronização de dados do DataWorks para transferir dados de uma única tabela do MaxCompute para o Hologres, permitindo consultas em tempo real e análises de big data.
Como funciona
A sincronização ocorre em duas etapas:
O DataWorks importa a Internal Table do MaxCompute para uma External Table do Hologres usando o comando IMPORT FOREIGN SCHEMA.
Em seguida, o sistema sincroniza os dados da External Table para uma Internal Table do Hologres.
Pré-requisitos
Antes de começar, verifique se você tem:
Ambos os recursos vinculados ao DataWorks como recursos de computação e aprovados no Teste de Conectividade
Limitações
Só é possível criar e ler uma External Table quando a tabela source do MaxCompute existe.
Sincronizar uma tabela do MaxCompute com o Hologres
Antes de iniciar, note que a configuração do nó envolve quatro conjuntos de decisões:
|
Área de decisão |
O que configurar |
|
Fonte de dados de destino |
Instância e banco de dados do Hologres onde gravar os dados |
|
Tabela source |
Projeto, schema e tabela do MaxCompute para leitura, além de filtros de linha |
|
Tabela de destino |
Schema alvo, nome da tabela, campos, particionamento e opções de índice |
|
Configuração de execução |
Recurso de computação e parâmetros de agendamento |
Etapa 1: Crie um nó de sincronização
Crie um nó de sincronização para o Hologres e abra a página de configuração antes de prosseguir.
Etapa 2: Selecione a fonte de dados de destino
Na página de configuração do nó:
No menu suspenso Data Source, selecione a fonte de dados do Hologres vinculada.
-
Clique em Destination Management para abrir a caixa de diálogo de gerenciamento. As operações disponíveis incluem:
Operação
Descrição
Gerencie a instância do Hologres no console HoloWeb
Visualize e analise consultas lentas históricas
Diagnosticar e gerencie conexões com a instância
Adicionar um banco de dados ou conceder permissões de banco de dados
Adicionar ou remover usuários e gerencie permissões no HoloWeb
Etapa 3: Selecione a tabela source do MaxCompute
|
Parâmetro |
Descrição |
|
Source Object Type |
O valor padrão é |
|
Project |
Projeto do MaxCompute que contém os dados a sincronizar. |
|
Schema |
Schema dentro do projeto. |
|
Table |
Tabela a sincronizar. |
|
Filter Condition |
Filtra as linhas a sincronizar, equivalente à cláusula |
Etapa 4: Configure a tabela de destino no Hologres
|
Parâmetro |
Descrição |
|
Instance |
Preenchido automaticamente com base na fonte de dados selecionada na etapa 2. |
|
Database |
Preenchido automaticamente com base na fonte de dados selecionada na etapa 2. |
|
Schema |
Schema ao qual a Internal Table do Hologres pertence. |
|
Table |
Nome da Internal Table do Hologres. Consulte o comportamento de nomenclatura de tabelas abaixo. |
|
Synchronization Field (em Field) |
Campos a incluir na sincronização e seus tipos de dados na tabela de destino. |
|
Partition Configuration |
Campos de chave de partição para a tabela de destino. |
|
Index Configuration |
Configurações de índice para acelerar consultas. Veja as opções de índice abaixo. |
Comportamento de nomenclatura de tabelas
Se já existir uma tabela com o mesmo nome no Hologres, o comportamento dependerá do tipo de tabela:
|
Tipo de tabela |
Tabela existente |
Comportamento |
|
Não particionada |
Sim |
O Hologres exclui a tabela existente e todos os seus dados, criando uma nova tabela em seguida. |
|
Particionada |
Sim |
O Hologres mantém a tabela e os dados existentes, criando uma nova sub-tabela de partição para o valor de partição recebido. |
Ocorrerá um erro se o schema da nova tabela for diferente do schema da tabela existente.
Para tabelas não particionadas, o sistema exclui permanentemente os dados existentes antes de criar a nova tabela. Verifique cuidadosamente o nome da tabela de destino antes de executar a tarefa.
Opções de índice
Em Index Configuration, defina as seguintes propriedades:
|
Opção |
Descrição |
|
Formato de armazenamento da tabela: row store, column store ou híbrido. Escolha conforme seu padrão de consulta. |
|
|
Time to Live (TTL) (Seconds) |
Tempo de retenção dos dados pelo Hologres antes da limpeza. A contagem do TTL inicia na primeira gravação dos dados. Padrão: Permanent. |
|
Binlog |
Define se o Binlog deve ser ativado para esta tabela. Consulte Subscribe to Hologres binlogs. |
|
Binlog Time to Live |
Período de retenção dos dados do Binlog. Padrão: Permanent. |
|
Pesquisar campos específicos e configure suas propriedades. |
Para obter detalhes completos sobre a criação de índices, consulte CREATE TABLE.
Etapa 5: Configure definições avançadas
Na seção Advanced:
|
Parâmetro |
Descrição |
|
GUC Parameter |
Parâmetros de configuração necessários antes de importar dados do MaxCompute. Para parâmetros suportados, veja GUC parameters. Outras instruções SQL não são suportadas. |
|
External Server |
O valor padrão é |
Etapa 6: Execute o nó de sincronização
-
Na aba Run Configuration, defina o seguinte:
Parâmetro
Descrição
Compute Engine Instance
Recurso de computação do Hologres vinculado.
Resource Group
Grupo de recursos aprovado no Teste de Conectividade ao vincular o recurso de computação do Hologres.
Compute CU
Quantidade de unidades de computação (CUs) alocadas para a tarefa. Padrão:
0.25.Parameter
Se a condição de filtro contiver variáveis
${ParameterName}, configure aqui o Parameter Name e o Parameter Value. A tarefa substitui cada variável pelo valor real durante a execução. Para mais detalhes, consulte Node scheduling configuration. Clique em Save e, em seguida, clique em Run.
Próximos passos
Agendar o nó: Para executar a sincronização periodicamente, defina uma Scheduling Policy na aba Schedule. Consulte Node scheduling configuration.
Implantar em produção: Clique em no ícone
para abrir a caixa de diálogo de implantação. Após a implantação, o nó será executado conforme o agendamento configurado no ambiente de produção. Veja Deploy a node.
Perguntas frequentes
A tarefa de sincronização falha devido a incompatibilidade de tipo de dados de campo.
Verifique se os tipos de dados na tabela de destino do Hologres correspondem aos campos respectivos na tabela source do MaxCompute. Uma incompatibilidade no momento da configuração causa falha na tarefa durante a execução.
Os dados estão inconsistentes após a sincronização de uma única partição.
Revise a condição de filtro da partição source. Uma condição de filtro incorreta é a causa mais comum de dados de partição parciais ou incompatíveis.