Armazenando conjuntos de dados
Em um projeto do Qlik Open Lakehouse, a tarefa de armazenamento grava dados coletados em tabelas do Iceberg para armazenamento e consultas eficientes. A tarefa de armazenamento de dados consome os dados que foram enviados para a área de pouso na nuvem por uma tarefa de aterrissagem de dados. Você pode usar as tabelas em um aplicativo de análise, por exemplo.
As configurações e os comportamentos a seguir se aplicam à tarefa de armazenamento em um projeto do Qlik Open Lakehouse que grava em tabelas do Iceberg.
-
A tarefa de dados de armazenamento é executada continuamente e não pode ser programada.
-
O Qlik otimiza automaticamente os dados armazenados nas tabelas do Iceberg. Para obter mais informações sobre o processo de otimização, consulte Arquitetura do Qlik Open Lakehouse .
-
Você pode criar uma tarefa de armazenamento de dados quando o status da tarefa de dados de aterrissagem for pelo menos Pronto para ser preparado.
-
Você pode preparar uma tarefa de armazenamento de dados quando o status da tarefa de dados de destino for pelo menos Pronto para execução.
A tarefa de dados de armazenamento usará o mesmo modo de operação (Carregamento total ou Carregamento total e CDC) como a tarefa de dados de aterrissagem consumido. As propriedades de configuração são diferentes entre os dois modos de operação, assim como opções de monitoramento e controle. Se você usar uma tarefa de dados de aterrissagem do destino na nuvem apenas com carregamento total, a tarefa de dados de armazenamento criará exibições para as tabelas de aterrissagem em vez de gerar tabelas físicas.
Criando uma tarefa de armazenamento de dados
Você pode criar uma tarefa de armazenamento de dados de três maneiras:
-
Clique em ... em uma tarefa de dados de destino e selecione Armazenar dados para criar uma tarefa de armazenamento de dados com base nesse ativo de dados de destino.
-
Em um projeto, clique em Criar e depois em Armazenar dados. Nesse caso, você precisará especificar qual tarefa de dados de aterrissagem usar.
-
Quando você integra dados, uma tarefa de armazenamento de dados é criada. Ela é conectada à tarefa de dados de aterrissagem, que também é criada durante a integração de dados.
Para obter mais informações, consulte Integrando dados no Qlik Open Lakehouse.
Quando você tiver criado a tarefa de armazenamento de dados:
-
Abra a tarefa de armazenamento de dados clicando em ... e selecionando Abrir.
A tarefa de armazenamento de dados é aberta, e você pode visualizar os conjuntos de dados de saída com base nas tabelas do ativo de dados inicial. -
Faça todas as alterações necessárias nos conjuntos de dados incluídos, como transformações, filtragem de dados ou adição de colunas.
Para obter mais informações, consulte Gerenciando conjuntos de dados.
-
Depois de adicionar as transformações desejadas, você pode validar os conjuntos de dados clicando em Validar conjuntos de dados. Se a validação encontrar erros, corrija os erros antes de continuar.
Para obter mais informações, consulte Validando e ajustando os conjuntos de dados.
-
Clique em Preparar para preparar a tarefa de dados e todos os artefatos necessários. Isso pode demorar um pouco.
Você pode acompanhar o progresso em Progresso da preparação na parte inferior da tela.
-
Quando o status for exibido Pronto para execução, você poderá executar a tarefa de dados.
Clique em Executar.
A tarefa de dados agora começará a criar conjuntos de dados para armazenar os dados.
Mantendo dados históricos
Você pode manter dados de alterações históricas do tipo 2 para recriar facilmente os dados como eles eram em um momento específico. Isso cria um armazenamento de dados históricos completo (HDS).
-
As dimensões de alteração lenta do tipo 2 são compatíveis.
-
Quando um registro alterado é mesclado, ele cria um novo registro para armazenar os dados alterados e deixa o registro antigo intacto.
-
Novos registros HDS são automaticamente marcados com data e hora, para que você possa criar análises de tendências e outros data marts analíticos orientados ao tempo.
Você pode ativar os dados históricos clicando em:
-
Replicação com dados atuais e histórico de dados anteriores, nas Configurações ao integrar dados.
-
Manter registros históricos de alterações e arquivamento de registros de alterações no diálogo Configurações de uma tarefa de armazenamento.
Programando uma tarefa de armazenamento
Uma tarefa de armazenamento em um projeto do Qlik Open Lakehouse é executada continuamente em mini lotes de um minuto e não pode ser programada.
Monitorando uma tarefa de armazenamento
Você pode monitorar o status e o progresso de uma tarefa de armazenamento clicando em Monitorar.
Para obter mais informações, consulte Monitorando tarefas de armazenamento do Qlik Open Lakehouse.
Solução de problemas com uma tarefa de dados de armazenamento
Quando houver problemas com uma ou mais tabelas em uma tarefa de dados de armazenamento, talvez seja necessário recarregar ou recriar os dados. Há algumas opções disponíveis para fazer isso. Considere qual opção usar na seguinte ordem:
-
Você pode recarregar o conjunto de dados na aterrissagem. O recarregamento do conjunto de dados na aterrissagem acionará o processo de comparação no armazenamento e corrigirá os dados, mantendo o histórico do tipo 2. Essa opção também deve ser considerada quando:
-
O carregamento completo foi realizado há muito tempo e há um grande número de alterações.
-
Se os registros da tabela de carregamento total e alteração que foram processados foram excluídos como parte da manutenção da área de aterrisagem.
-
-
Você pode recriar tabelas. Isso recria os conjuntos de dados da origem.
-
Clique em ... e depois em Recriar tabelas. Ao recriar uma tabela, a tarefa downstream reagirá como se uma ação de truncamento e recarregamento tivesse ocorrido nos conjuntos de dados de origem.
Nota informativaSe houver problemas com tabelas individuais, é recomendável tentar primeiro recarregar as tabelas em vez de recriá-las. A recriação de tabelas pode causar perda de dados históricos. Se houver alterações significativas, você também deverá preparar tarefas de dados downstream que consomem os dados recriados.
-
Evolução do esquema
A evolução do Esquema permite detectar facilmente alterações estruturais em várias Fontes de dados e, em seguida, controlar como essas alterações serão aplicadas à sua tarefa. A evolução do esquema pode ser usada para detectar alterações de DDL que foram feitas no esquema de dados de origem. Você também pode aplicar algumas alterações automaticamente.
Para cada tipo de alteração, é possível selecionar como lidar com as alterações na seção Evolução do esquema das configurações da tarefa. Você pode aplicar alterações, ignorar a alteração, suspender a tabela ou alterar o processamento da tarefa.
Você pode definir a ação a ser usada para tratar a alteração DDL para cada tipo de alteração. Algumas ações não estão disponíveis para todos os tipos de alteração.
-
Aplicar ao destino
Aplicar alterações automaticamente.
-
Ignorar
Ignorar alterações.
-
Suspender tabela
Suspender a tabela. A tabela será exibida como um erro no Monitor.
-
Interromper tarefa
Parar o processamento da tarefa. Isso é útil se você quiser lidar com todas as alterações de esquemas manualmente. Isso também interromperá o agendamento, ou seja, as execuções agendadas não serão realizadas.
As seguintes alterações são compatíveis:
-
Adicionar coluna
-
Criar uma tabela que corresponda ao padrão de seleção
Se você usou uma Regra de seleção para adicionar conjuntos de dados que correspondem a um padrão, novas tabelas que atendem ao padrão serão detectadas e adicionadas.
Para obter mais informações sobre as configurações de tarefas, consulte Evolução do esquema.
Limitações para evolução do esquema
As seguintes limitações se aplicam à evolução do esquema:
-
A evolução do esquema só é compatível quando a CDC é usada como método de atualização.
-
Depois de alterar as configurações de evolução do esquema, você deve preparar a tarefa novamente.
-
Se você renomear tabelas, a evolução do esquema não será compatível. Nesse caso, você deve atualizar os metadados antes de preparar a tarefa.
-
Se você estiver projetando uma tarefa, você deve atualizar o navegador para receber alterações na evolução do esquema. Você pode definir notificações para ser alertado sobre alterações.
-
Nas tarefas de aterrissagem, não há suporte para a aterrisagem de uma coluna. Eliminar uma coluna e adicioná-la resultará em um erro de tabela.
-
Nas tarefas de aterrisagem, uma operação de drop table não eliminará a tabela. Se o senhor eliminar uma tabela e depois adicionar uma tabela, a tabela antiga será truncada, e uma nova tabela não será adicionada.
-
Alterar o comprimento de uma coluna não é possível para todos os destinos, dependendo do suporte no banco de dados de destino.
-
Se o nome de uma coluna for alterado, as transformações explícitas definidas usando essa coluna não terão efeito, pois são baseadas no nome da coluna.
-
As limitações nos metadados de atualização também se aplicam à evolução do esquema.
Ao capturar alterações de DDL, aplicam-se as seguintes limitações:
-
Quando ocorre uma sequência rápida de operações no banco de dados de origem (por exemplo, DDL>DML>DDL), o Qlik Talend Data Integration pode analisar o log na ordem errada, resultando na falta de dados ou em comportamento imprevisível. Para minimizar as chances de isso acontecer, a melhor prática é esperar que as alterações sejam aplicadas ao destino antes de executar a próxima operação.
Como exemplo disso, durante a captura de alterações, se uma tabela de origem for renomeada várias vezes em rápida sucessão (e a segunda operação renomeá-la de volta ao seu nome original), um erro de que a tabela já existe no banco de dados de destino pode ser encontrado.
- Se você alterar o nome de uma tabela usada em uma tarefa e, em seguida, interromper a tarefa, o Qlik Talend Data Integration não capturará nenhuma alteração feita a essa tabela após a tarefa ser retomada.
-
Não há suporte para renomear uma tabela de origem enquanto uma tarefa está parada.
- A realocação das colunas de Chave primária de uma tabela não é suportada (e, portanto, não será gravada na tabela de Controle de histórico de DDL).
- Quando o tipo de dados de uma coluna for alterado e a (mesma) coluna for renomeada enquanto a tarefa é interrompida, a alteração DDL aparecerá na tabela de controle Histórico de DDL como "Eliminar coluna" e, em seguida, "Adicionar coluna" quando a tarefa for retomada. Observe que o mesmo comportamento também pode ocorrer como resultado de uma latência prolongada.
- As operações CREATE TABLE realizadas na origem enquanto uma tarefa é interrompida serão aplicadas ao destino quando a tarefa for retomada, mas não serão registradas como DDL na tabela de controle Histórico de DDL.
-
As operações associadas a alterações de metadados (como ALTER TABLE, reorg, reconstrução de um índice em cluster etc.) podem causar um comportamento imprevisível se forem executadas:
-
Durante o carregamento total
-OU-
-
Entre o carimbo de data/hora Iniciar alterações de processamento de e a hora atual (ou seja, o momento em que o usuário clica em OK no diálogo Opções Avançadas de Execução).
Exemplo:
SE:
O horário especificado para Iniciar alterações de processamento de é 10h.
E:
Uma coluna chamada Idade foi adicionada à tabela Funcionários às 10h10.
E:
O usuário clica em OK no diálogo Opções Avançadas de Execução às 10h15.
ENTÃO:
As alterações ocorridas entre 10h e 10h10 podem resultar em erros de CDC.
Nota informativaEm qualquer um dos casos acima, as tabelas afetadas devem ser recarregadas para que os dados sejam corretamente movido para o destino.
-
- A instrução de DDL
ALTER TABLE ADD/MODIFY <column> <data_type> DEFAULT <>não replica o valor padrão para o destino e a coluna nova/modificada é definida como NULL. Observe que isso pode acontecer mesmo que o DDL que adicionou/modificou a coluna tenha sido executado no passado. Se a coluna nova/modificada for anulável, o ponto de extremidade de origem atualizará todas as linhas da tabela antes de registrar o DDL em si. Como resultado, o Qlik Talend Data Integration captura as alterações, mas não atualiza o destino. Como a coluna nova/modificada é definida como NULL, se a tabela de destino não tiver chave primária/índice exclusivo, as atualizações subsequentes gerarão uma mensagem de "zero linha afetada". -
As modificações nas colunas de precisão TIMESTAMP e DATE não serão capturadas.
Configurações de armazenamento
Você pode definir propriedades para a tarefa de armazenamento de dados quando a plataforma de dados é um Qlik Open Lakehouse.
-
Clique em Configurações.
Configurações gerais
-
Banco de dados
Banco de dados a ser usado na fonte de dados.
-
Esquema de tarefa
Você pode alterar o nome do esquema da tarefa de dados de armazenamento. O nome padrão é o nome da tarefa de armazenamento.
-
Esquema interno
Você pode alterar o nome do esquema de ativo de dados de armazenamento interno. O nome padrão é o nome da tarefa de armazenamento com _internal anexado.
-
Capitalização padrão do nome do esquema
Você pode definir a capitalização padrão para todos os nomes de esquemas. Se seu banco de dados estiver configurado para forçar a capitalização, essa opção não terá efeito.
- Prefixo para todas as tabelas e visualizações
Você pode definir um prefixo para todas as tabelas e exibições criadas com essa tarefa.
Nota informativaVocê deve usar um prefixo exclusivo quando quiser usar um esquema de banco de dados em várias tarefas de dados. -
Histórico
Você pode manter os dados históricos de alterações para permitir que você recrie facilmente os dados conforme eles foram observados em um momento específico. Você pode usar exibições de histórico e exibições de histórico ao vivo para ver dados históricos. Selecione Manter registros históricos e arquivo de registros de alterações para habilitar dados históricos de alterações.
-
Ao comparar o armazenamento com a aterrisagem, você pode escolher como gerenciar os registros que não existem na aterrisagem.
-
Marcar como excluído
Isso executará uma exclusão reversível de registros que não existem na aterrisagem.
-
Manter
Isso manterá todos os registros que não existem na aterrisagem.
Nota informativaOs conjuntos de dados na tarefa de armazenamento de dados devem ter um conjunto de chaves primárias. Caso contrário, todas as vezes que os dados de aterrissagem forem recarregados, uma carga inicial será executada na tarefa Armazenamento de dados. -
Configurações de tempo de execução
-
Execução paralela
Você pode definir o número máximo de conexões para carregamento totais para um número de 1 a 5.
-
Armazém
O nome do armazém de dados na nuvem. Essa configuração é aplicável apenas para o Snowflake.
Configurações do catálogo
-
Publicar no catálogo
Selecione esta opção para publicar esta versão dos dados no Catálogo como um conjunto de dados. O conteúdo do Catálogo será atualizado na próxima vez que você preparar esta tarefa.
Para obter mais informações sobre o Catálogo, consulte Compreendendo seus dados com ferramentas de catálogo.
Evolução do esquema
Selecione como lidar com os seguintes tipos de alterações de DDL no esquema. Depois de alterar as configurações de evolução do esquema, você deve preparar a tarefa novamente. A tabela abaixo descreve quais ações estão disponíveis para as alterações de DDL compatíveis.
| Alteração de DDL | Aplicar ao destino | Ignorar | Interromper tarefa |
|---|---|---|---|
| Adicionar coluna | Sim | Sim | Sim |
| Criar tabela
Se você usou uma Regra de seleção para adicionar conjuntos de dados que correspondem a um padrão, novas tabelas que atendem ao padrão serão detectadas e adicionadas. |
Sim | Sim | Sim |
Operações na tarefa de armazenamento de dados
Você pode realizar as seguintes operações em uma tarefa de armazenamento de dados no menu de tarefas.
-
Abrir
Isso abre a tarefa de armazenamento de dados. É possível visualizar a estrutura da tabela e os detalhes sobre a tarefa de dados e monitorar o status do carregamento total e dos lotes de alterações.
-
Editar
Você pode editar o nome e a descrição da tarefa e adicionar tags.
-
Excluir
Você pode excluir a tarefa de dados.
-
Preparar
Isso prepara uma tarefa para execução. Isso inclui:
-
Validar que o design é válido.
-
Criar ou alterar as tabelas e exibições físicas para corresponder ao design.
-
Gerando o código SQL para a tarefa de dados
-
Criar ou alterar as entradas do catálogo para os conjuntos de dados de saída da tarefa.
Você pode acompanhar o progresso em Progresso da preparação na parte inferior da tela.
-
-
Validar conjuntos de dados
Isso valida todos os conjuntos de dados incluídos na tarefa de dados.
Expanda Validar e ajustar para ver todos os erros de validação e alterações de design.
-
Recriar tabelas
Isso recria os conjuntos de dados da origem. Ao recriar uma tabela, a tarefa downstream reagirá como se uma ação de truncamento e recarregamento tivesse ocorrido nos conjuntos de dados de origem. Para obter mais informações, consulte Solução de problemas com uma tarefa de dados de armazenamento.
-
Parar
Você pode interromper a operação da tarefa de dados. A tarefa de dados não continuará atualizando as tabelas.
Nota informativaEssa opção está disponível quando a tarefa de dados está em execução. -
Reiniciar
Você pode retomar a operação de uma tarefa de dados a partir do ponto em que ela foi interrompida.
Nota informativaEssa opção está disponível quando a tarefa de dados é interrompida. -
Espelhar dados
Espelhar tabelas do Qlik Open Lakehouse para outras plataformas de dados. Isso cria uma tarefa de dados de espelhamento.
Limitações
-
Se a tarefa de dados contiver conjuntos de dados e você alterar quaisquer parâmetros na conexão, por exemplo, nome de usuário, banco de dados ou esquema, supõe-se que os dados existam na nova localização. Se este não for o caso, você pode:
-
Mover os dados na origem para a nova localização.
-
Crie uma nova tarefa de dados com as mesmas configurações.
-