Share via


Comment ingérer des données historiques dans Azure Data Explorer

Un scénario courant lors de l’intégration à Azure Data Explorer consiste à ingérer des données historiques, parfois appelées renvoi. Le processus implique l’ingestion de données d’un système de stockage existant dans une table, qui est une collection d’étendues.

Nous vous recommandons d’ingérer des données historiques à l’aide de la propriété d’ingestion creationTime pour définir l’heure de création des étendues sur l’heure de création des données. L’utilisation de l’heure de création comme critère de partitionnement d’ingestion peut faire vieillir vos données conformément à vos stratégies de cache et de rétention , et rendre les filtres de temps plus efficaces.

Par défaut, l’heure de création des extensions est définie sur l’heure à laquelle les données sont ingérées, ce qui peut ne pas produire le comportement attendu. Par exemple, supposons que vous ayez une table qui a une période de cache de 30 jours et une période de rétention de deux ans. Dans le flux normal, les données ingérées au fur et à mesure de leur production sont mises en cache pendant 30 jours, puis déplacées vers le stockage froid. Après deux ans, en fonction de leur heure de création, les données plus anciennes sont supprimées un jour après l’autre. Toutefois, si vous ingérez deux ans de données historiques où, par défaut, les données sont marquées avec l’heure de création comme heure d’ingestion des données. Cela peut ne pas produire le résultat souhaité pour les raisons suivantes :

  • Toutes les données arrivent dans le cache et y restent pendant 30 jours, en utilisant plus de cache que prévu.
  • Les données plus anciennes ne sont pas supprimées un jour à la fois ; Par conséquent, les données sont conservées dans le cluster plus longtemps que nécessaire et, après deux ans, toutes sont supprimées en même temps.
  • Les données, précédemment regroupées par date dans le système source, peuvent maintenant être regroupées dans la même étendue, ce qui entraîne des requêtes inefficaces.

Diagramme montrant le résultat attendu et le résultat réel de l’ingestion de données historiques à l’aide de l’heure de création par défaut.

Dans cet article, vous allez apprendre à partitionner des données historiques :

  • Utilisation de la creationTime propriété d’ingestion pendant l’ingestion (recommandé)

    Dans la mesure du possible, ingérez des données historiques à l’aide de la creationTime propriété d’ingestion, ce qui vous permet de définir l’heure de création des étendues en les extrayant du chemin d’accès du fichier ou de l’objet blob. Si votre structure de dossiers n’utilise pas de modèle de date de création, nous vous recommandons de restructurer votre fichier ou chemin d’objet blob pour refléter l’heure de création. À l’aide de cette méthode, les données sont ingérées dans la table avec l’heure de création correcte, et les périodes de cache et de rétention sont appliquées correctement.

    Notes

    Par défaut, les extensions sont partitionnés par heure de création (ingestion) et, dans la plupart des cas, il n’est pas nécessaire de définir une stratégie de partitionnement des données.

  • Utilisation d’une stratégie de partitionnement après ingestion

    Si vous ne pouvez pas utiliser la creationTime propriété d’ingestion, par exemple si vous ingérez des données à l’aide du connecteur Azure Cosmos DB où vous ne pouvez pas contrôler l’heure de création ou si vous ne pouvez pas restructurer votre structure de dossiers, vous pouvez repartitionner la table après ingestion pour obtenir le même effet à l’aide de la stratégie de partitionnement. Toutefois, cette méthode peut nécessiter des essais et des erreurs pour optimiser les propriétés de stratégie et est moins efficace que l’utilisation de la creationTime propriété d’ingestion. Nous n’avons recommandé cette méthode que lorsque l’utilisation de la creationTime propriété d’ingestion n’est pas possible.

Prérequis

Ingérer des données d’historique

Nous vous recommandons vivement de partitionner les données historiques à l’aide de la creationTime propriété d’ingestion pendant l’ingestion. Toutefois, si vous ne pouvez pas utiliser cette méthode, vous pouvez repartitionner la table après ingestion à l’aide d’une stratégie de partitionnement.

LightIngest peut être utile pour charger des données historiques d’un système de stockage existant dans Azure Data Explorer. Bien que vous puissiez créer votre propre commande à l’aide de la liste des arguments de ligne de commande, cet article vous montre comment générer automatiquement cette commande via un Assistant d’ingestion. Outre la création de la commande, vous pouvez utiliser ce processus pour créer une nouvelle table et un mappage de schéma. Cet outil déduit le mappage de schéma à partir de votre jeu de données.

Destination

  1. Dans l’interface utilisateur web Azure Data Explorer, dans le menu de gauche, sélectionnez Requête.

  2. Cliquez avec le bouton droit sur la base de données dans laquelle vous souhaitez ingérer les données, puis sélectionnez LightIngest.

    Capture d’écran de l’interface utilisateur web Azure Data Explorer montrant le menu Plus de base de données.

    La fenêtre Ingérer des données s’ouvre avec l’onglet Destination sélectionné. Les champs Cluster et Base de données sont remplis automatiquement.

  3. Sélectionnez une table cible. Si vous souhaitez ingérer des données dans une nouvelle table, sélectionnez Nouvelle table, puis entrez un nom de table.

    Notes

    Les noms de table peuvent avoir jusqu’à 1 024 caractères, y compris des espaces, des alphanumériques, des traits d’union et des traits de soulignement. Les caractères spéciaux ne sont pas pris en charge.

    Capture d’écran de l’onglet destination montrant la base de données et la table de destination.

  4. Sélectionnez Suivant : Source.

Source

  1. Sous Sélectionner une source, sélectionnez Ajouter une URL ou Sélectionner un conteneur.

    • Lors de l’ajout d’une URL, sous Lien à la source, spécifiez la clé de compte ou l’URL SAP d’un conteneur. Vous pouvez créer l’URL SAS manuellement ou automatiquement.

    • Lorsque vous sélectionnez un conteneur à partir de votre compte de stockage, sélectionnez votre abonnement de stockage, votre compte de stockage et votre conteneur dans les menus déroulants.

      Capture d’écran de la boîte de dialogue permettant de sélectionner un conteneur à partir de l’abonnement et du compte de stockage.

    Notes

    L’ingestion prend en charge une taille de fichier maximale de 6 Go. Nous vous recommandons d’ingérer des fichiers entre 100 Mo et 1 Go.

  2. Sélectionnez Paramètres avancés pour définir des paramètres supplémentaires pour le processus d’ingestion à l’aide de LightIngest.

    Capture d’écran de la sélection des paramètres avancés pour le traitement de l’ingestion impliquant l’outil LightIngest.

  3. Dans le volet Configuration avancée , définissez les paramètres LightIngest en fonction du tableau suivant.

    Capture d’écran du volet de configuration avancée montrant les paramètres supplémentaires pour le traitement de l’ingestion impliquant l’outil LightIngest.

    Propriété Description
    Modèle d’heure de création Spécifiez le remplacement de la propriété d’heure d’ingestion de l’étendue créée par un modèle, par exemple pour appliquer une date basée sur la structure de dossiers du conteneur. Consultez aussi Modèle d’heure de création.
    Modèle de nom d’objet blob Spécifiez le modèle utilisé pour identifier les fichiers à ingérer. Ingérez tous les fichiers qui correspondent au modèle de nom d’objet blob dans le conteneur donné. Prend en charge les caractères génériques. Nous vous recommandons de mettre entre guillemets doubles.
    Tag Une étiquette affectée aux données ingérées. L’étiquette peut être n’importe quelle chaîne.
    Limiter la quantité de fichiers Spécifiez le nombre de fichiers qui peuvent être ingérés. Ingère les premiers n fichiers qui correspondent au modèle de nom d’objet blob, jusqu’au nombre spécifié.
    Ne pas attendre la fin de l’ingestion Si cette option est définie, met en file d’attente les objets blob pour ingestion sans superviser le processus d’ingestion. Si elle n’est pas définie, LightIngest continue à interroger l’état de l’ingestion jusqu’à ce que celle-ci soit terminée.
    Afficher seulement les éléments sélectionnés Liste les fichiers dans le conteneur, mais ne les ingère pas.
  4. Sélectionnez Terminé pour revenir à l’onglet Source .

    1. Si vous le souhaitez, sélectionnez Filtres de fichiers pour filtrer les données afin d’ingérer uniquement les fichiers dans un chemin d’accès de dossier spécifique ou avec une extension de fichier particulière.

      Capture d’écran des données de filtrage dans l’onglet source de l’écran d’ingestion de nouvelles données.

      Par défaut, l’un des fichiers du conteneur est sélectionné de manière aléatoire et utilisé pour générer le schéma pour la table.

    2. Si vous le souhaitez, sous Fichier de définition de schéma, vous pouvez spécifier le fichier à utiliser.

  5. Sélectionnez Suivant : Schéma pour afficher et modifier la configuration des colonnes de votre table.

schéma

L’onglet Schéma fournit un aperçu des données.

Pour générer la commande LightIngest, sélectionnez Suivant : Démarrer l’ingestion.

Éventuellement :

  • Modifiez le format de données déduites automatiquement en sélectionnant le format souhaité dans le menu déroulant.
  • Modifiez le nom du mappage déduit automatiquement. Vous pouvez utiliser des caractères alphanumériques et des traits de soulignement. Les espaces, les caractères spéciaux et les traits d’Union ne sont pas pris en charge.
  • Lorsque vous utilisez une table existante, vous pouvez sélectionner l’option Conserver le schéma de la table actuelle si le schéma de la table correspond au format sélectionné.
  • Sélectionnez Visionneuse de commandes pour afficher et copier les commandes automatiques générées à partir de vos entrées.
  • Modifier des colonnes. Sous Aperçu partiel des données, sélectionnez les menus déroulants de colonne pour modifier différents aspects de la table.

Les modifications que vous pouvez apporter dans une table dépendent des paramètres suivants :

  • Si le type de la table est nouveau ou existant
  • Si le type du mappage est nouveau ou existant
Type de la table Type de mappage Ajustements disponibles
Nouvelle table Nouveau mappage Modifier le type de données, Renommer la colonne, Nouvelle colonne, Supprimer la colonne, Mettre à jour la colonne, Trier par ordre croissant, Trier par ordre décroissant
Table existante Nouveau mappage Nouvelle colonne (vous pourrez ensuite modifier le type de données, la renommer ou la mettre à jour)
Mettre à jour la colonne, Tri croissant, Tri décroissant
Mappage existant Tri croissant, Tri décroissant

Notes

Lorsque vous ajoutez une nouvelle colonne ou mettez à jour une colonne, vous pouvez modifier les transformations de mappage. Pour plus d’informations, consultez Transformations de mappage.

Ingérer

  1. Une fois que la table, le mappage et la commande LightIngest sont marqués par des marques de case activée vertes, sélectionnez l’icône de copie en haut à droite de la zone de commande Générée pour copier la commande LightIngest générée.

    Capture d’écran de l’onglet Résumé avec la commande générée. Vous pouvez copier la commande à l’aide de l’icône de copie au-dessus de la zone de commande générée.

    Notes

    Si nécessaire, vous pouvez télécharger l’outil LightIngest en sélectionnant Télécharger LightIngest.

  2. Pour terminer le processus d’ingestion, vous devez exécuter LightIngest à l’aide de la commande copiée.