Ir para conteúdo principal

Criando um ativo de dados de armazenamento do Snowflake com tratamento de alterações

Você cria um ativo de dados de armazenamento na página inicial do Serviços de dados, que pode ser acessada na barra de navegação. O ativo de dados de armazenamento extrai os dados da área de aterrissagem do Snowflake e os converte em tabelas para análise. Os dados são aplicados periodicamente às tabelas a partir das alterações no ativo de dados de entrada usando o CDC (Change Data Capture). Exibições também são criadas para fornecer acesso mais versátil aos dados nas tabelas armazenadas.

Apresentação

Quando você gera dados no Snowflake, tabelas de armazenamento, tabelas de alterações e exibições são geradas. Ao consumir dados, a prática recomendada é usar exibições. Exibições fornecem vários benefícios sobre as tabelas, incluindo simultaneidade de dados aprimorada. Se você não tiver certeza de qual exibição consumir, tente primeiro a exibição padrão para tabelas.

Tabelas e exibições Snowflake geradas por um ativo de dados de armazenamento que lê de um ativo de dados de aterrissagem usando o tratamento de alterações

As seguintes tabelas e exibições sempre são criadas:

  • Tabelas

    Tabelas contêm os dados físicos armazenados.

  • Exibições padrão para tabelas

    Exibições padrão para tabelas permitem apenas que você veja os dados que são aplicados às tabelas. Isso significa que não ele inclui os dados da tabela de alterações mais recentes que ainda não foram aplicados. As exibições padrão podem ser usadas quando a consistência tem mais prioridade do que a latência.

  • Exibições de tabelas de alterações

    Esta é uma exibição da tabela de alterações no esquema de aterrissagem.

Você também pode optar por criar as seguintes exibições avançadas:

  • Exibições padrão com cabeçalhos

    Esta é uma exibição padrão para uma tabela com campos de cabeçalho adicionais que são gerados pelo ativo de dados de armazenamento.

  • Visualizações ao vivo

    Exibições ao vivo incluem dados de tabelas de alterações que ainda não foram aplicados. Isso permite que você veja os dados com menor latência sem precisar aplicar dados alterados com frequência. Exibições ao vivo são menos eficientes do que exibições padrão e requerem mais recursos.

Para obter informações mais detalhadas sobre as tabelas e exibições geradas, consulte A estrutura de tabelas e exibições que são geradas no Snowflake.

Criando um ativo de dados de armazenamento do Snowflake

  1. Clique em Adicionar novo na página inicial do Data Integration e selecione Criar ativo de dados.
  2. No diálogo Criar ativo de dados, preencha os seguintes campos:

    • Nome: Nome do ativo de dados.

    • Espaço: Especifique o espaço de destino do ativo de dados.

    • Tipo de ativo: Selecione Armazenamento (Snowflake).

    • Selecione Abrir para abrir o ativo de dados quando ele for criado.

    Clique em Criar quando estiver pronto.

  3. Clique em Selecionar dados de origem.

  4. Selecione o ativo de dados de aterrissagem que você deseja usar como origem para o ativo de dados de armazenamento e clique em Selecionar. Selecione um ativo de dados de aterrisagem com o tipo de tarefa Carregamento total + CDC. O tipo de tarefa é mostrado na exibição em lista.

    O diálogo Configurações é exibido.

  5. Definir configurações para Armazenar

    • Conexão

      Selecione a conexão de dados com permissão de gravação para o banco de dados Snowflake de armazenamento e permissão de leitura para o banco de dados Snowflake que é usado pelo ativo de dados de aterrissagem. Se você não tiver uma conexão de dados, será necessário criá-la.

      Nota: A autenticação OAuth não tem suporte para distribuição híbrida de dados.

      Consulte Criar uma conexão com o Snowflake (somente em inglês) para obter mais informações.

    • Esquema interno

      Este é o nome do esquema em que as tabelas serão criadas.

    • Esquema de ativos de dados

      Este é o nome do esquema em que as exibições serão criadas.

    Nota: Você pode usar o mesmo esquema que Esquema interno e Esquema de ativos de dados, mas mantê-los separados permite definir acessos diferentes aos esquemas. Por exemplo, você pode restringir o acesso ao Esquema interno e permitir o acesso ao Esquema de ativos de dados para todos os consumidores.
  6. Definir configurações para Tabelas e exibições

    O seguinte sempre será criado:

    • Tabelas

    • Exibições padrão para tabelas

    • Visualizações padrão para tabelas de alteração

    Você também pode optar por criar as seguintes exibições:

    • Exibições padrão com cabeçalhos

    • Exibições ao vivo

      Se quiser que as visualizações ao vivo sejam transacionalmente consistentes, selecione Visualizações ao vivo transacionalmente consistentes. Quando essa opção é selecionada, as tabelas de status são atualizadas após cada atualização em lote, por padrão a cada minuto, se houver alterações. Isso requer acesso mais frequente ao banco de dados na nuvem. Dependendo do fornecedor do banco de dados em nuvem, isso pode significar que o banco de dados em nuvem nunca é suspenso devido à inatividade.

  7. Definir configurações para Prefixos e sufixos

    Você pode definir um prefixo para identificar os recursos gerados por esse ativo de dados. Isso também permite reutilizar o mesmo esquema em vários ativos de dados, já que você pode distinguir as tabelas e exibições por prefixo.

    Você também pode definir os sufixos para as exibições que são geradas.

  8. Definir configurações para Tempo de execução

    • Você pode definir o Intervalo de aplicação em minutos.

      Isso define a frequência com que os dados alterados são aplicados à tabela de armazenamento. A faixa de intervalo é de 1 minuto a 1440 minutos (7 dias).

      Recomendamos que você não defina esse intervalo menor que a frequência de atualização na tarefa Qlik Replicate associada. Aplicar dados com mais frequência também resultará em maiores custos de recursos Snowflake.

      Como alternativa, se você precisar de dados de baixa latência ocasionalmente, pode manter o Intervalo de aplicação alto e usar exibições ao vivo.

    • Você pode definir o número máximo de conexões de banco de dados em Execução paralela.

    Parâmetros de tempo de execução podem ser alterados após o ativo de dados ser catalogado e executado. A alteração afetará o próximo processamento real.

  9. Clique em OK para confirmar suas configurações. Agora você pode visualizar a estrutura da tabela antes de começar a gerar conjuntos de dados.

  10. Clique em Salvar para salvar seu ativo de dados.

  11. Clique em Executar para começar a gerar os conjuntos de dados.

As tabelas Snowflake agora serão geradas e preenchidas com dados se você já tiver executado um carregamento total de dados de aterrissagem.

Geração de tabelas de monitoramento

Você pode monitorar o status e o progresso da geração de tabelas clicando em Monitorar. Quando o primeiro carregamento está em execução, você pode ver o progresso em Status de carga total. Quando as alterações tiverem sido processadas, você também poderá ver o status e o progresso do Último lote de alterações.

É possível visualizar os seguintes detalhes para cada tabela ou alteração:

  • Estado

    Mostra o estado atual dessa tabela ou alteração.

    • Concluído: o carregamento ou alteração foi concluído com sucesso.

    • Carregando: a tabela ou alteração está sendo processada.

    • Em fila: a tabela ou alteração está esperando para ser processada

    • Erro: ocorreu um erro ao processar a tabela ou alteração.

  • Iniciado

    A hora em que o carregamento ou o processamento da alteração foi iniciado.

  • Encerrado

    A hora em que o carregamento ou processamento da alteração terminou.

  • Duração

    Duração do carregamento ou processamento da alteração, no formato hh:mm:ss.

  • Registros processados

    O número de registros processados no carregamento ou na alteração.

  • Taxa de transferência (registros/segundo)

    A taxa de transferência não é atualizada até que o carregamento seja concluído.

  • Mensagem

    Exibe uma mensagem de erro quando o carregamento ou alteração não foi processado com sucesso.

As tabelas serão continuamente atualizadas com novos dados conforme a área de aterrissagem é atualizada pela tarefa de replicação. Cada lote está relacionado a registros de um determinado intervalo de tempo. Você pode ver o intervalo de tempo do lote mais recente em Último lote de alterações.

Também é possível verificar o cartão do ativo de dados na página inicial do Serviços de dados. Quando a opção Os dados são atualizados em mostrar a data e hora da última atualização, as tabelas deverão estar disponíveis em Dados no hub analítico.

Dados de todas as transações de origem até o momento mostrados em O ativo de dados está atualizado em estão disponíveis para consumo nesse ativo de dados. Essas informações estarão disponíveis para um ativo de dados depois que todas as tabelas tiverem sido carregadas e o primeiro conjunto de alterações for aplicado. Se você optou por gerar exibições ao vivo, também pode ver quando essas exibições são atualizadas.

Se houver um lote de alterações antes que o carregamento inicial seja concluído, a opção Os dados são atualizados em no cartão de ativos não será atualizada até que o carregamento inicial seja concluído e o primeiro lote de alterações seja aplicado. Por exemplo, suponha que você esteja carregando um ativo de dados que contém uma tabela de pedidos com 1 milhão de pedidos e uma tabela de detalhes de pedidos com 10 milhões de detalhes de pedidos. As tabelas demoram 10 e 20 minutos para realizar um carregamento total, respectivamente. A tabela de pedidos é carregada primeiro, seguida pela tabela de detalhes de pedidos. Enquanto a tabela de pedidos estava sendo carregada, um novo pedido foi inserido. Portanto, quando os detalhes do pedido são carregados, eles podem conter detalhes do novo pedido que ainda não existem na tabela de pedidos. As tabelas de pedidos e de detalhes de pedidos só estarão sincronizadas e totalmente atualizadas ao mesmo tempo após a aplicação do primeiro lote de alterações.

Nota: Não é possível alterar as configurações ou conjuntos de dados incluídos quando você começou a gerar tabelas.

Operações no ativo de dados de armazenamento

Você pode executar as seguintes operações em um ativo de dados de armazenamento no menu de ativos da página inicial do Serviços de dados.

  • Abrir

    Isso abre o ativo de dados de armazenamento. É possível visualizar a estrutura da tabela e os detalhes sobre o ativo de dados e monitorar o status do carregamento total e dos lotes de alterações.

  • Editar

    É possível editar o nome e a descrição do ativo e adicionar tags.

  • Parar

    É possível interromper a operação do ativo de dados. O ativo de dados não continuará a atualizar as tabelas.

  • Retomar

    É possível retomar a operação de um ativo de dados do ponto em que ela foi interrompida.

  • Excluir

    É possível excluir o ativo de dados.

Carregando tabelas

Você pode carregar tabelas em um ativo de dados de armazenamento aberto e quando o aplicativo está em execução. O carregamento começa quando o próximo lote de alterações é processado.

Se os dados de aterrissagem tiverem mais de 96 horas, você precisará carregar as tabelas no ativo de dados de aterrissagem que alimenta esse ativo de dados antes de executá-lo.

  • Para carregar todas as tabelas:

    Clique em e depois em Carregar.

  • Para carregar tabelas específicas:

    1. Abra a guia Monitor.

    2. Selecione as tabelas que deseja carregar.

    3. Clique em Carregar tabelas.

Se tiver havido um erro na tarefa do Replicate, você deverá recarregar o ativo de dados de aterrissagem da tarefa do Replicate antes de realizar um carregamento no ativo de dados de armazenamento.

A estrutura de tabelas e exibições que são geradas no Snowflake

Esta seção descreve a estrutura das tabelas e exibições que são geradas no esquema de ativos de dados e no esquema interno.

Todas as tabelas e exibições são gerenciadas pelo Qlik Serviços de dados. Não altere os dados usando outras ferramentas.

Tabelas

Tabelas são geradas no esquema interno.

Nomenclatura: <INTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME><sufixo para tabelas>

Os seguintes campos de cabeçalho são adicionados à estrutura da tabela.

Campos de cabeçalhos de tabelas
Campo Tipo Descrição
hdr__key_hash varbinary(20)

Hash de todas as chaves primárias de registro.

O formato de hash é SHA1. Os campos são separados por um caractere de backspace.

hdr__timestamp carimbo de data/hora

Carimbo de data/hora em UTC

  • Para dados obtidos do carregamento total, será a hora de início do carregamento total.

  • Para uma alteração proveniente de tabelas de alterações, será o campo de carimbo de data/hora do registro.

hdr__operation varchar(1)

Operação mais recente deste registro.

  • U - atualizado da tabela de alterações.

  • I - inserido da tabela de alterações.

  • L - inserido pela tarefa de carregamento total.

As exclusões nos dados de aterrissagem são convertidas em exclusões definitivas.

Tabela de estado do ativo

A tabela de estado do ativo é gerada no esquema interno. Ela é usada para manter a última sequência aplicada e a última sequência relatada pelo Qlik Replicate para consistência da transação. Todos os objetos em um ativo de dados usam a mesma tabela de estado do ativo.

Nomenclatura: <INTERNAL_SCHEMA>.[<PREFIX>]ASSET_STATE__<DATA_ASSET_ID>

Campos da tabela de estado do ativo
Campo Tipo Descrição
hdr__dataset_id varbinary(20)

ID do conjunto de dados.

hdr__change_seq varchar(35)

Última sequência de alteração aplicada.

hdr__timestamp carimbo de data/hora

A hora da última transação confirmada aplicada em UTC.

Visualizações padrão para tabelas

Uma exibição padrão com headers é gerada no esquema de ativos de dados para cada tabela de origem selecionada. Essa exibição inclui todos os campos originais da estrutura da tabela, mas não inclui os campos de cabeçalho que são adicionados à tabela no esquema interno.

Nomenclatura: <DATA_ASSET_SCHEMA>.[<PREFIX>]<TABLE_NAME>< Sufixo para exibições padrão para tabelas>

Exibições padrão com cabeçalhos

Uma exibição padrão com headers é opcionalmente gerada no esquema de ativos de dados para cada tabela de origem selecionada. Essa exibição inclui os campos de cabeçalho que são adicionados à tabela.

Nomenclatura: <DATA_ASSET_SCHEMA>.[<PREFIX>]<TABLE_NAME>< Sufixo para exibições padrão com headers>

Exibições ao vivo

Exibições ao vivo mostram uma exibição para cada tabela de origem selecionada que mescla a tabela com as alterações da tabela de alterações. Isso fornece às consultas uma exibição ao vivo dos dados sem ter que esperar pelo próximo ciclo de aplicação. As alterações mescladas da exibição da tabela de alterações são consistentes com a transação entre as tabelas usando eventos do Replicate. Exibições ao vivo são geradas no esquema do ativo de dados.

Ativos de dados de exibição ao vivo executam uma operação do Snowflake a cada 1 minuto por padrão quando há alterações. Isso pode ser alterado no Qlik Replicate.

Nomenclatura: <DATA_ASSET_SCHEMA>.[<PREFIX>]<TABLE_NAME>< Sufixo para exibições ao vivo>

Exibições de tabelas de alterações

Esta é uma visão da tabela de mudança no esquema de destino para cada tabela de origem selecionada.

Nomenclatura: <DATA_ASSET_SCHEMA>.[<PREFIX>]<TABLE_NAME>< Sufixo para exibições da tabela de alterações>

Os seguintes campos de cabeçalho são adicionados à estrutura da tabela.

Campos de cabeçalho de tabela de alterações
Campo Tipo Descrição
hdr__change_seq varchar(35) Sequência de alteração de Qlik Replicate.
hdr__operation varchar(1)

Operação mais recente deste registro.

  • U - atualizada.

  • I - inserida.

  • D - excluída.

hdr__timestamp carimbo de data/hora

Carimbo de data/hora em UTC de Qlik Replicate.

hdr__key_hash varbinary(20)

Hash de todas as chaves primárias de registro da tabela de alterações do Qlik Replicate.