Ir para conteúdo principal Pular para conteúdo complementar

Espelhamento de dados em um armazém de dados na nuvem

As tarefas de espelhamento permitem que você consulte os dados armazenados no seu Qlik Open Lakehouse a partir do Snowflake. Os dados são refletidos no Snowflake sem duplicação. As tabelas espelhadas garantem que os custos de armazenamento e engenharia sejam mínimos e mantêm uma única fonte de verdade.

Depois de integrar seus dados a um Qlik Open Lakehouse, você pode espelhar seus dados no Snowflake usando tabelas de dados espelhadas. Os dados no Iceberg podem ser consultados usando um mecanismo de consulta compatível nativamente com o Iceberg, como o Amazon Athena. No entanto, as tabelas espelhadas são ideais quando você deseja implementar a arquitetura aberta de lakehouse do Iceberg, mas continuar a usar o Snowflake como mecanismo de consulta. A tarefa de dados de espelhamento automatiza o processo de tornar as tabelas do Iceberg acessíveis no Snowflake, declarando-as como tabelas externas. O Snowflake se refere à tabela do Iceberg como uma tabela externa porque não gerencia a tabela, apenas lê a partir dela. As tabelas externas permitem que você consulte seus dados do Iceberg no Snowflake sem migrar os dados ou o gerenciamento de suas tabelas para o Snowflake.

Para espelhar os dados, você cria um volume externo no Snowflake que aponta para o compartimento S3 onde as tabelas do Iceberg estão localizadas e são atualizadas pela tarefa de armazenamento. Em seguida, você cria uma integração de catálogo do Snowflake que aponta para o catálogo de dados usado pelo seu projeto do Qlik Open Lakehouse, por exemplo, o AWS Glue Data Catalog.

A tarefa de espelhamento executa as instruções DDL necessárias para criar as tabelas externas no Snowflake. A tabela (esquema) é exibida no Snowflake, juntamente com as tabelas de alterações e histórico, mas, se você observar a definição da tabela, ela será exibida como uma visualização criada sobre a tabela externa. Os usuários do Snowflake podem consultar as visualizações como se os dados estivessem armazenados em seu ambiente do Snowflake. Os dados espelhados oferecem alto desempenho, pois o Qlik continua gerenciando e otimizando os dados.

Mecanismo de atualização

O Snowflake aponta para os metadados que refletem o último snapshot dos dados disponíveis no Iceberg. Há duas maneiras de atualizar os metadados:

  1. Qlik-managed: esta opção requer um depósito ativo do Snowflake e inclui monitoramento e visualização de dados. Selecione essa opção quando quiser criar transformações downstream e monitorar e agendar a tarefa. O Qlik é o proprietário da operação de atualização de metadados, de modo que você pode configurá-la manualmente, por exemplo, para ser executada a cada 30 minutos. Essa opção é particularmente relevante para transformações de várias tabelas, pois os metadados de todas as tabelas são atualizados simultaneamente. Embora possa perder parte do ganho em tempo real que a atualização gerenciada pelo Snowflake oferece, você mantém a consistência entre as tabelas. Para transformações de várias tabelas, você pode acionar a atualização quantas vezes forem necessárias. O Qlik recomenda que você defina o acionamento baseado em eventos nas tarefas de transformação downstream que seguem a tarefa espelho programada.

  2. Gerenciado pelo Snowflake: uma operação sem servidor que aproveita a infraestrutura do Snowpipe sem exigir ou ativar um armazém de computação. Essa opção é recomendada quando você não precisa de transformações downstream. O intervalo de atualização é configurado quando você cria a integração do catálogo do Snowflake. Para monitorar o status da atualização automática, consulte o SYSTEM$AUTO_REFRESH_STATUS no Snowflake. O Qlik perde a propriedade do processo e não consegue monitorar tarefas desse tipo.

Cada tarefa de espelho dentro de um projeto pode ser configurada com seu próprio mecanismo de atualização: se você criar duas tarefas de espelho, uma poderá usar a atualização gerenciada pelo Qlik e a outra poderá usar a atualização gerenciada pelo Snowflake.

Evolução do esquema

Se você adicionar ou remover manualmente colunas ou tabelas da tarefa de armazenamento, ou indiretamente da tarefa de aterrissagem, as alterações serão refletidas automaticamente no design da tarefa de espelhamento. Você deve preparar a tarefa para aplicar as alterações à tabela espelhada. Se a evolução do esquema estiver habilitada nas configurações das tarefas de espelhamento e armazenamento, quaisquer alterações de esquema detectadas automaticamente na tarefa de armazenamento serão aplicadas às tabelas de espelhamento.

Pré-requisitos

Uma tarefa de dados de espelhamento só pode ser adicionada depois que uma tarefa de armazenamento tiver sido criada em um projeto do Qlik Open Lakehouse. Uma tarefa de armazenamento pode ter várias tarefas de dados de espelhamento. Uma tarefa de dados de espelhamento só pode ser associada a uma tarefa de armazenamento.

Para espelhar seus dados no Snowflake, você precisa de:

  • Uma conexão com o banco de dados do Snowflake onde você deseja espelhar seus dados. Opcionalmente, você pode criar uma nova conexão durante a criação da tarefa de espelhamento. Os requisitos podem ser encontrados nas instruções de conexão com o Snowflake.

  • Um volume externo do Snowflake. Isso concede à Snowflake acesso restrito à sua localização no S3. Para configurar o volume, consulte Configurar um volume externo para o Amazon S3.

  • Uma integração do AWS Glue Data Catalog. Isso permite que o Snowflake se conecte aos dados mantidos no formato de tabela aberta do Iceberg no seu armazenamento de objetos. Para configurar uma integração de catálogo, consulte Configurar uma integração de catálogo para o AWS Glue.

Criando uma tarefa de dados de espelhamento

Para espelhar dados para o Snowflake, faça o seguinte:

  1. Abra o projeto que contém a tarefa de armazenamento para os dados que você deseja espelhar.

  2. Clique em Mais ações na tarefa de armazenamento. Selecione Dados de espelhamento e configure-as:

    • Nome: digite um nome para sua tarefa de espelho.

    • Descrição: opcionalmente, descreva o objetivo da tarefa.

    • Conexão

      • Para usar uma conexão existente, clique em Selecionar para abrir a caixa de diálogo Conexão de fonte segura. Selecione o Espaço onde a conexão está localizada e, em seguida, selecione a conexão. Clique em Editar para alterar as propriedades da conexão.

      • Para criar uma nova conexão, clique em Criar conexão para abrir o diálogo Criar conexão e siga as instruções.

    • Banco de dados: digite o nome do banco de dados em que você deseja espelhar os dados.

    • Volume externo do Snowflake: digite o nome do volume externo criado no Snowflake.

    • Integração do catálogo do Snowflake: digite o nome da integração de catálogo criada no Snowflake.

  3. Selecione como você deseja que seus dados sejam atualizados no Snowflake:

    • Gerenciado pelo Qlik: selecione essa opção se você quiser criar transformações downstream. Isso requer um depósito ativo no Snowflake e é monitorado pelo Qlik.

    • Gerenciado pelo Snowflake: selecione esta opção quando não quiser executar transformações posteriores. Um armazém do Snowflake não é necessário e, portanto, não é monitorado pelo Qlik. Isso é administrado e monitorado no Snowflake.

  4. Crie a tarefa de espelhamento para adicioná-la à tarefa de armazenamento em seu pipeline.

  5. Clique em Mais ações na tarefa de espelho e selecione Abrir. Certifique-se de que esteja exibindo a exibição Design.

  6. Para selecionar um subconjunto dos conjuntos de dados disponíveis, clique em Selecionar fonte de dados e remova os conjuntos de dados indesejados.

  7. Clique em Preparar para criar a tabela externa no Snowflake e espelhar os dados.

Executando transformações

Se precisar transformar os dados, você pode criar um projeto do Snowflake e usar uma tarefa de dados de espelhamento no projeto do Qlik Open Lakehouse como fonte. Para criar uma tarefa de transformação usando dados de um projeto existente, consulte Criando pipelines entre projetos.

Excluindo uma tarefa de dados de espelhamento

Quando você exclui uma tarefa de espelhamento, as tabelas e visualizações externas são excluídas do Snowflake e não estão mais disponíveis para consulta. Uma tarefa de armazenamento não pode ser excluída enquanto uma tarefa de espelhamento estiver lendo a partir dela.

Para excluir uma tarefa de dados de espelhamento, faça o seguinte

  1. Na tarefa de dados de espelhamento que você deseja excluir, clique no menu Mais ações na tarefa e selecione Excluir.

  2. Na caixa de diálogo de confirmação, clique em Excluir.

Esta página ajudou?

Se você encontrar algum problema com esta página ou seu conteúdo – um erro de digitação, uma etapa ausente ou um erro técnico – avise-nos!