Mise en miroir des données dans un entrepôt de données cloud
Les tâches de mise en miroir vous permettent d'interroger des données stockées dans votre Qlik Open Lakehouse à partir de Snowflake. Les données sont reflétées (mises en miroir) dans Snowflake sans être dupliquées. Les tables mises en miroir permettent de minimiser les coûts de stockage et d'ingénierie et de conserver une seule source de vérité.
Après avoir intégré vos données à un Qlik Open Lakehouse, vous pouvez les mettre en miroir dans Snowflake à l'aide de tables en miroir. Les données figurant dans Iceberg peuvent être interrogées à l'aide d'un moteur de requête qui supporte nativement Iceberg, comme Amazon Athena. Cependant, les tables en miroir sont idéales lorsque vous souhaitez mettre en œuvre l'architecture de lakehouse Iceberg ouverte tout en continuant à utiliser Snowflake comme moteur de requête. La tâche Refléter les données automatise le processus consistant à rendre les tables Iceberg accessibles dans Snowflake en les déclarant comme des tables externes. Snowflake traite la table Iceberg comme une table externe, car il ne gère pas la table, il se contente de la lire. Les tables externes vous permettent d'interroger vos données Iceberg dans Snowflake sans avoir à migrer les données ni à gérer vos tables dans Snowflake.
Pour refléter les données, vous créez un volume externe dans Snowflake qui pointe vers le compartiment S3 dans lequel les tables Iceberg sont placées et mises à jour par la tâche de stockage. Vous créez ensuite une intégration de catalogue Snowflake qui pointe vers le catalogue de données utilisé par votre projet Qlik Open Lakehouse, par exemple, AWS Glue Data Catalog.
La tâche de mise en miroir exécute les instructions DDL nécessaires pour créer les tables externes dans Snowflake. La table (le schéma) est affichée dans Snowflake, avec les tables de modifications et d'historique, mais, si vous regardez la définition de la table, elle s'affiche comme une vue créée en plus de la table externe. Les utilisateurs Snowflake peuvent interroger les vues comme si les données étaient stockées dans leur environnement Snowflake. Les données en miroir offrent des performances élevées, car Qlik continue de gérer et d'optimiser les données.
Mécanisme d'actualisation
Snowflake pointe vers les métadonnées qui reflètent le dernier instantané des données disponibles dans Iceberg. Il existe deux méthodes d'actualisation des métadonnées :
-
Gestion par Qlik : cette option nécessite un entrepôt Snowflake actif et inclut la surveillance et la prévisualisation des données. Sélectionnez cette option lorsque vous souhaitez créer des transformations en aval et surveiller et planifier la tâche. Qlik possède l'opération d'actualisation des métadonnées, si bien que vous pouvez la configurer manuellement, par exemple pour qu'elle s'exécute toutes les 30 minutes. Cette option est particulièrement utile pour les transformations multi-tables, car les métadonnées de toutes les tables sont mises à jour simultanément. Bien que vous risquiez de perdre une partie du gain en temps réel qu'offre l'actualisation Gestion par Snowflake, vous maintenez la cohérence entre les tables. Pour les transformations multi-tables, vous pouvez déclencher l'actualisation aussi souvent que nécessaire. Qlik recommande de définir un déclenchement basé sur les événements pour les tâches de transformation en aval qui suivent la tâche de mise en miroir planifiée.
-
Gestion par Snowflake : opération sans serveur qui tire parti de l'infrastructure Snowpipe sans nécessiter ni activer d'entrepôt de calcul. Cette option est recommandée lorsque vous n'avez pas besoin de transformations en aval. L'intervalle d'actualisation est configuré lorsque vous créez l'intégration de catalogue Snowflake. Pour surveiller le statut de l'actualisation automatique, interrogez SYSTEM$AUTO_REFRESH_STATUS dans Snowflake. Qlik perd la titularité du processus et n'est pas en mesure de surveiller les tâches de ce type.
Chaque tâche de mise en miroir au sein d'un projet peut être configurée avec son propre mécanisme d'actualisation : si vous créez deux tâches de mise en miroir, l'une peut utiliser l'actualisation Gestion par Qlik et l'autre l'actualisation Gestion par Snowflake.
Évolution du schéma
Si vous ajoutez ou supprimez manuellement des colonnes ou des tables dans la tâche de stockage, ou indirectement dans la tâche de dépôt temporaire, les modifications sont automatiquement reflétées dans la conception de la tâche de mise en miroir. Vous devez préparer la tâche de sorte à appliquer les modifications à la table en miroir. Si l'évolution de schéma est activée dans les paramètres des tâches de mise en miroir et de stockage, toutes les modifications de schéma automatiquement détectées dans la tâche de stockage sont appliquées aux tables en miroir.
Prérequis
Une tâche Refléter les données ne peut être ajoutée qu'après la création d'une tâche de stockage dans un projet Qlik Open Lakehouse. Une tâche de stockage peut avoir plusieurs tâches Refléter les données. Une tâche Refléter les données ne peut être associée qu'à une seule tâche de stockage.
Pour pouvoir mettre vos données en miroir dans Snowflake, il vous faut :
-
Une connexion à la base de données Snowflake dans laquelle vous souhaitez mettre vos données en miroir. Vous pouvez éventuellement créer une nouvelle connexion lors de la création de la tâche de mise en miroir. Vous trouverez les conditions requises dans les instructions relatives à la connexion à Snowflake.
-
Un volume externe Snowflake. Cela permet à Snowflake d'avoir un accès restreint à votre emplacement S3. Pour configurer le volume, consultez Configuration d'un volume externe pour Amazon S3.
-
Une intégration AWS Glue Data Catalog. Cela permet à Snowflake de se connecter aux données détenues au format de table ouverte Iceberg dans votre magasin d'objets. Pour configurer une intégration de catalogue, consultez Configuration d'une intégration de catalogue pour AWS Glue.
Création d'une tâche Refléter les données
Pour mettre des données en miroir dans Snowflake, procédez comme suit :
-
Ouvrez le projet qui contient la tâche de stockage des données que vous souhaitez mettre en miroir.
-
Cliquez sur
Autres actions sur la tâche de stockage. Sélectionnez l'action Refléter les données et configurez-la :
-
Nom : saisissez un nom pour votre tâche de mise en miroir.
-
Description : si vous le souhaitez, décrivez l'objectif de la tâche.
-
Connexion :
-
pour pouvoir utiliser une connexion existante, cliquez sur Sélectionner pour ouvrir la boîte de dialogue Connexion source sécurisée. Sélectionnez l'Espace dans lequel se trouve votre connexion, puis sélectionnez la connexion. Cliquez sur Modifier pour modifier les propriétés de la connexion.
-
Pour créer une nouvelle connexion, cliquez sur Créer une connexion pour ouvrir la boîte de dialogue Créer une connexion et suivez les instructions.
-
-
Base de données : saisissez le nom de la base de données dans laquelle vous souhaitez mettre les données en miroir.
-
Volume externe Snowflake : saisissez le nom du volume externe créé dans Snowflake.
-
Intégration de catalogue Snowflake : saisissez le nom de l'intégration de catalogue créée dans Snowflake.
-
Sélectionnez la manière dont vous souhaitez que vos données soient actualisées dans Snowflake :
-
Gestion par Qlik : sélectionnez cette option si vous souhaitez créer des transformations en aval. Cela nécessite un entrepôt Snowflake actif et est surveillé par Qlik.
-
Gestion par Snowflake : sélectionnez cette option si vous ne souhaitez pas effectuer de transformations en aval. Un entrepôt Snowflake n'est pas nécessaire et n'est donc pas surveillé par Qlik. Cela est administré et surveillé dans Snowflake.
-
Créez la tâche de mise en miroir pour l'ajouter à la tâche de stockage dans votre pipeline.
-
Cliquez sur
Autres actions sur la tâche de mise en miroir et sélectionnez Ouvrir. Assurez-vous d'afficher la vue Conception.
-
Pour sélectionner un sous-jeu des jeux de données disponibles, cliquez sur Sélectionner des données sources et supprimez les jeux de données indésirables.
-
Cliquez sur Préparer pour créer la table externe dans Snowflake et mettre les données en miroir.
Réalisation de transformations
Si vous devez transformer vos données, vous pouvez créer un projet Snowflake et utiliser une tâche Refléter les données dans votre projet Qlik Open Lakehouse comme source. Pour créer une tâche de transformation à l'aide des données d'un projet existant, consultez Élaboration de pipelines interprojets.
Suppression d'une tâche Refléter les données
Lorsque vous supprimez une tâche de mise en miroir, les tables et vues externes sont supprimées de Snowflake et ne peuvent plus être interrogées. Une tâche de stockage ne peut pas être supprimée pendant qu'une tâche de mise en miroir la lit.
Pour supprimer une tâche Refléter les données, procédez comme suit :
-
Sur la tâche Refléter les données à supprimer, cliquez sur le menu
Autres actions de la tâche et sélectionnez Supprimer. -
Dans la boîte de dialogue de confirmation, cliquez sur Supprimer.