Accéder au contenu principal

Création d'une ressource de données de stockage Snowflake avec gestion des modifications

Vous créez une ressource de données de stockage sur la page d'accueil Data Services, accessible depuis la barre de navigation. La ressource de données de stockage récupère les données de la zone de dépôt temporaire Snowflake et les convertit en tables à des fins d'analyse. Les données sont périodiquement appliquées aux tables à partir des modifications de la ressource de données d'entrée via CDC (Change Data Capture). Des vues sont également créées pour fournir un accès plus polyvalent aux données des tables stockées.

Introduction

Lorsque vous générez des données dans Snowflake, des tables de stockage, des tables de modifications et des vues sont générées. Lors de la consommation de données, la meilleure pratique consiste à utiliser des vues. Les vues offrent plusieurs avantages par rapports aux tables, notamment une meilleure simultanéité des données. Si vous n'êtes pas sûr de savoir quelle vue consommer, commencez par essayer la vue standard des tables.

Tables et vues Snowflake générées par une ressource de données de stockage qui effectue la lecture depuis une ressource de données de dépôt temporaire via la gestion des modifications

Les tables et vues suivantes sont toujours créées :

  • Tables

    Les tables contiennent les données physiques stockées.

  • Vues standard des tables

    Les vues standard des tables vous permettent de voir uniquement les données appliquées aux tables. Cela signifie qu'elles n'incluent pas les données des tables de modifications les plus récentes qui ne sont pas encore appliquées. Les vues standard peuvent être utilisées lorsque la cohérence a priorité sur la latence.

  • Vues de la table de modifications

    Il s'agit d'une vue de la table de modifications dans le schéma de dépôt temporaire.

Vous pouvez également décider de créer les vues avancées suivantes :

  • Vues standard avec des en-têtes

    Il s'agit d'une vue standard d'une table avec des champs d'en-tête supplémentaires générés par la ressource de données de stockage.

  • Vues en direct

    Les vues en direct incluent les données des tables de modifications qui ne sont pas encore appliquées. Cela vous permet de voir les données de latence inférieure sans avoir à appliquer fréquemment les données modifiées. Les vues en direct sont moins efficaces que les vues standard et demandent plus de ressources.

Pour des informations plus détaillées sur les tables et les vues générées, voir Structure des tables et vues générées dans Snowflake.

Création d'une ressource de données Stockage Snowflake

  1. Cliquez sur Ajouter nouveau sur la page d'accueil de Data Integration, puis sélectionnez Créer une ressource de données.
  2. Dans la boîte de dialogue Créer une ressource de données, renseignez les champs suivants :

    • Nom : Nom de la ressource de données.

    • Espace : Spécifiez l'espace de destination de la ressource de données.

    • Type de ressource : Sélectionnez Stockage (Snowflake).

    • Sélectionnez Ouvrir pour ouvrir la ressource de données une fois qu'elle a été créée.

    Lorsque vous êtes prêt, cliquez sur Créer.

  3. Cliquez sur Sélectionner des données source.

  4. Sélectionnez la ressource de données de dépôt temporaire que vous souhaitez comme source pour la ressource de données de stockage, puis cliquez sur Sélectionner. Sélectionnez une ressource de données de dépôt temporaire avec le type de tâche Chargement complet + CDC. Le type de tâche est affiché en mode liste.

    La boîte de dialogue Paramètres apparaît.

  5. Configuration des paramètres de Stockage

    • Connexion

      Sélectionnez la connexion de données avec une autorisation d'écriture sur la base de données Snowflake de stockage et une autorisation de lecture sur la base de données Snowflake utilisée par la ressource de données de dépôt temporaire. Si vous n'avez pas de connexion de données, vous devez en créer une.

      Remarque: L'authentification OAuth n'est pas prise en charge pour la livraison de données hybrides.

      Pour plus d'informations, voir Création d'une connexion Snowflake (uniquement en anglais).

    • Schéma interne

      Il s'agit du nom du schéma dans lequel les tables seront créées.

    • Schéma de ressource de données

      Il s'agit du nom du schéma dans lequel les vues seront créées.

    Remarque: Vous pouvez utiliser le même schéma que le Schéma interne et le Schéma de ressource de données, mais, si vous les gardez séparés, cela vous permet de définir un accès différent aux schémas. Par exemple, vous pouvez limiter l'accès au Schéma interne et autoriser l'accès au Schéma de ressource de données pour tous les consommateurs.
  6. Configuration des paramètres de Tables et vues

    Les éléments suivants seront toujours créés :

    • Tables

    • Vues standard des tables

    • Vues standard des tables de modifications

    Vous pouvez également décider de créer les vues suivantes :

    • Vues standard avec des en-têtes

    • Vues en direct

      Si vous souhaitez que les vues en direct soient transactionnellement cohérentes, sélectionnez Vues en direct transactionnellement cohérentes. Lorsque cette option est sélectionnée, les tables d'état sont mises à jour après chaque mise à jour par lots, par défaut, chaque minute, en cas de modifications. Cela nécessite un accès plus fréquent à la base de données cloud. Suivant votre fournisseur de base de données cloud, cela peut signifier que la base de données cloud n'est jamais suspendue pour cause d'inactivité.

  7. Configuration des paramètres de Préfixes et suffixes

    Vous pouvez définir un préfixe pour identifier les ressources générées par cette ressource de données. Cela vous permet également de réutiliser le même schéma dans différentes ressources de données, car vous pouvez distinguer les tables et les vues à l'aide d'un préfixe.

    Vous pouvez également définir les suffixes des vues générées.

  8. Configuration des paramètres de Temps d'exécution

    • Vous pouvez définir la valeur Intervalle d'application en minutes.

      Cela définit la fréquence d'application des données modifiées à la table de stockage. La plage d'intervalles varie de 1 minute à 1 440 minutes (7 jours).

      Nous recommandons de ne pas définir cet intervalle à une valeur inférieure à la fréquence de mise à jour de la tâche Qlik Replicate associée. L'application plus fréquente de données entraînera également des frais de ressources Snowflake supérieurs.

      Comme autre option, si vous avez besoin de temps en temps de données à faible latence, vous pouvez conserver la valeur Intervalle d'application à un niveau élevé et utiliser des vues en direct.

    • Vous pouvez définir le nombre maximal de connexions de base de données dans Exécution parallèle.

    Une fois la ressource de données cataloguée et exécutée, il est possible de modifier les paramètres de Temps d'exécution. La modification aura un impact sur le traitement réel suivant.

  9. Cliquez sur OK pour confirmer les paramètres. À présent, vous pouvez afficher un aperçu de la structure des tables avant de commencer à générer des ensembles de données.

  10. Cliquez sur Enregistrer pour enregistrer la ressource de données.

  11. Cliquez sur Exécuter pour démarrer la génération des ensembles de données.

Les tables Snowflake vont maintenant être générées et renseignées à l'aide des données si vous avez déjà effectué un chargement complet des données de dépôt temporaire.

Surveillance de la génération de tables

Vous pouvez surveiller l'état et la progression de la génération de tables en cliquant sur Surveiller. Lors de l'exécution du premier chargement, vous pouvez afficher la progression dans État de chargement complet. Une fois les modifications traitées, vous pouvez également afficher l'état et la progression du Dernier lot de modifications.

Pour chaque table ou chaque modification, vous pouvez afficher les détails suivants :

  • État

    Cela affiche l'état actif de cette table ou de cette modification.

    • Terminé - le chargement ou la modification s'est correctement terminé(e).

    • Chargement en cours - la table ou la modification est en cours de traitement.

    • En file d'attente - la table ou la modification est en attente de traitement.

    • Erreur - il s'est produit une erreur lors du traitement de la table ou de la modification.

  • Opération démarrée

    Heure de démarrage du traitement du chargement ou de la modification.

  • Terminé

    Heure de fin du traitement du chargement ou de la modification.

  • Durée

    Durée de traitement du chargement ou de la modification au format hh:mm:ss.

  • Enregistrements traités

    Nombre d'enregistrements traités lors du chargement ou de la modification.

  • Débit (enregistrements/seconde)

    Le débit n'est pas mis à jour tant que le chargement n'est pas terminé.

  • Message

    Affiche un message d'erreur si le chargement ou la modification n'a pas été traité(e) correctement.

Les tables seront continuellement mises à jour en fonction des nouvelles données à mesure que la zone de dépôt temporaire est mise à jour par la tâche de réplication. Chaque lot correspond à des enregistrements d'un laps de temps donné. Vous pouvez voir le laps de temps du lot le plus récent dans Dernier lot de modifications.

Vous pouvez également vérifier la carte de la ressource de données sur la page d'accueil de Data Services. Une fois que Les données sont mises à jour au affiche l'heure et la date de la dernière mise à jour, les tables doivent être disponibles sous Données dans Analytics Hub.

Les données de l'ensemble des transactions source jusqu'au moment indiqué dans La ressource de données est mise à jour au sont disponibles à la consommation depuis cette ressource de données. Ces informations sont disponibles pour une ressource de données une fois que toutes les tables ont été chargées et que le premier ensemble de modifications a été appliqué. Si vous choisissez de générer des vues en direct, vous pouvez également voir quand les vues en direct sont mises à jour.

En cas de lot de modifications avant la fin du chargement initial, Les données sont mises à jour au de la carte de ressource ne sera pas mis à jour tant que le chargement initial n'est pas terminé et que le premier lot de modifications n'est pas appliqué. Par exemple, supposons que vous chargiez une ressource de données contenant une table de commandes comportant 1 million de commandes et une table de détails de commandes comportant 10 millions de détails de commandes. Le chargement complet des tables prend respectivement 10 et 20 minutes. La table de commandes est la première à être chargée, suivie de la table de détails de commandes. Lors du chargement de la table de commandes, une nouvelle commande a été insérée. C'est pourquoi, lors du chargement de la table de détails de commandes, il se peut que celle-ci contienne les détails de la nouvelle commande qui n'existe pas encore dans la table de commandes. Les tables de commandes et de détails de commandes seront synchronisées et entièrement mises à jour à la même heure uniquement après l'application du premier lot de modifications.

Remarque: Il n'est pas possible de modifier les paramètres ni les ensembles de données inclus lorsque vous avez commencé la génération des tables.

Opérations sur la ressource de données de stockage

Vous pouvez effectuer les opérations suivantes sur une ressource de données de stockage depuis le menu Ressources de la page d'accueil de Data Services.

  • Ouvrir

    Cela ouvre la ressource de données de stockage. Vous pouvez afficher la structure de la table et les détails sur la ressource de données et surveiller l'état du chargement complet et des lots de modifications.

  • Éditer

    Vous pouvez éditer le nom et la description de la ressource et ajouter des balises.

  • Arrêter

    Vous pouvez arrêter l'opération de la ressource de données. La ressource de données ne continuera pas à mettre à jour les tables.

  • Reprendre

    Vous pouvez reprendre l'opération d'une ressource de données au point où elle avait été arrêtée.

  • Supprimer

    Vous pouvez supprimer la ressource de données.

Chargement de tables

Vous pouvez charger des tables dans une ressource de données de stockage ouverte et que l'application exécute. Le chargement démarre lors du traitement du lot de modifications suivant.

Si les données de dépôt temporaire ont plus de 96 heures, vous devrez charger les tables de la ressource de données de dépôt temporaire qui alimente cette ressource de données avant d'exécuter cette ressource de données.

  • Pour charger toutes les tables :

    Cliquez sur , puis sur Charger.

  • Pour charger des tables spécifiques :

    1. Ouvrez l'onglet Surveiller.

    2. Sélectionnez les tables à charger.

    3. Cliquez sur Charger des tables.

En cas d'erreur de la tâche Replicate, vous devez charger la ressource de données de dépôt temporaire de la tâche Replicate avant de pouvoir charger la ressource de données de stockage.

Structure des tables et vues générées dans Snowflake

Cette section décrit la structure des tables et des vues générées dans le schéma de ressource de données et le schéma interne.

L'ensemble des tables et vues sont gérées par Qlik Data Services. N'altérez pas les données à l'aide d'autres outils.

Tables

Les tables sont générées dans le schéma interne.

Nommage : <INTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME><suffix for tables>

Les champs d'en-tête suivants sont ajoutés à la structure des tables.

Champs d'en-tête des tables
Champ Type Description
hdr__key_hash varbinary(20)

Hachage de toutes les clés primaires des enregistrements.

Le format de hachage est SHA1. Les champs sont séparés par un caractère de retour arrière.

hdr__timestamp timestamp

Horodatage UTC

  • Pour les données extraites d'un chargement complet, il s'agira de l'heure de début du chargement complet.

  • Pour un changement provenant des tables de modifications, il s'agira du champ d'horodatage de l'enregistrement.

hdr__operation varchar(1)

Dernière opération de cet enregistrement.

  • U - mis à jour depuis la table de modifications.

  • I - Inséré depuis la table de modifications.

  • L - Inséré par la tâche de chargement complet.

Les suppressions des données de dépôt temporaire sont définitives.

Table d'état de la ressource

La table d'état de la ressource est générée dans le schéma interne. Elle est utilisée pour conserver la dernière séquence appliquée et la dernière séquence signalée par Qlik Replicate pour la cohérence des transactions. Tous les objets d'une ressource de données utilisent la même table d'état de la ressource.

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

Champs de la table d'état de la ressource
Champ Type Description
hdr__dataset_id varbinary(20)

ID de l'ensemble de données.

hdr__change_seq varchar(35)

Dernière séquence de modification appliquée.

hdr__timestamp timestamp

Dernière heure de transaction validée appliquée UTC.

Vues standard des tables

Une vue standard avec des en-têtes est générée dans le schéma de ressource de données pour chaque table source sélectionnée. Cette vue inclut l'ensemble des champs d'origine de la structure de la table, mais elle n'inclut pas les champs d'en-tête ajoutés à la table dans le schéma interne.

Nommage : <DATA_ASSET_SCHEMA>.[<PREFIX>]<TABLE_NAME>< Suffix for standard views for tables>

Vues standard avec des en-têtes

Une vue standard avec des en-têtes est générée en option dans le schéma de ressource de données pour chaque table source sélectionnée. Cette vue inclut les champs d'en-tête ajoutés à la table.

Nommage : <DATA_ASSET_SCHEMA>.[<PREFIX>]<TABLE_NAME>< Suffix for standard views with headers>

Vues en direct

Les vues en direct affichent une vue de chaque table source sélectionnée qui fusionne la table avec les modifications de la table de modifications. Cela fournit aux requêtes une vue en direct des données sans avoir à attendre le cycle d'application suivant. Les modifications fusionnées provenant de la vue de la table de modifications sont transactionnellement cohérentes entre les tables utilisant des événements de Replicate. Les vues en direct sont générées dans le schéma de ressource de données.

Les ressources de données des vues en direct effectuent une opération Snowflake chaque minute par défaut en cas de modifications. Il est possible de modifier cela dans Qlik Replicate.

Nommage : <DATA_ASSET_SCHEMA>.[<PREFIX>]<TABLE_NAME>< Suffix for live views>

Vues de la table de modifications

Il s'agit d'une vue de la table de modifications dans le schéma de dépôt temporaire pour chaque table source sélectionnée.

Nommage : <DATA_ASSET_SCHEMA>.[<PREFIX>]<TABLE_NAME>< Suffix for change table views>

Les champs d'en-tête suivants sont ajoutés à la structure des tables.

Champs d'en-tête de la table de modifications
Champ Type Description
hdr__change_seq varchar(35) Séquence de modification de Qlik Replicate.
hdr__operation varchar(1)

Dernière opération de cet enregistrement.

  • U - mis à jour.

  • I - inséré.

  • D - supprimé.

hdr__timestamp timestamp

Horodatage UTC de Qlik Replicate.

hdr__key_hash varbinary(20)

Hachage de toutes les clés primaires des enregistrements de la table de modifications Qlik Replicate.