Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’ingestion des données implique le chargement de données dans une table de votre cluster. Azure Data Explorer garantit la validité des données, convertit les formats en fonction des besoins et effectue des manipulations telles que la correspondance de schéma, l’organisation, l’indexation, l’encodage et la compression. Une fois ingérées, les données sont disponibles pour la requête.
Azure Data Explorer offre une ingestion ponctuelle ou l’établissement d’un pipeline d’ingestion continu, à l’aide du streaming ou de l’ingestion en file d’attente. Pour déterminer ce qui vous convient, consultez l’ingestion de données à usage unique et l’ingestion de données continues.
Remarque
Les données sont conservées dans le stockage en fonction de la stratégie de rétention définie.
Ingestion de données à usage unique
L’ingestion ponctuelle est utile pour le transfert de données historiques, le remplissage de données manquantes et les étapes initiales du prototypage et de l’analyse des données. Cette approche facilite l’intégration rapide des données sans avoir besoin d’un engagement de pipeline continu.
Il existe plusieurs façons d’effectuer l’ingestion de données ponctuelle. Utilisez l’arbre de décision suivant pour déterminer l’option la plus appropriée pour votre cas d’usage :
Pour plus d’informations, consultez la documentation pertinente :
Légende | Documentation pertinente |
---|---|
![]() |
Consultez les formats de données pris en charge par Azure Data Explorer pour l’ingestion. |
![]() |
Consultez les formats de fichier pris en charge pour les pipelines Azure Data Factory. |
![]() |
Pour importer des données à partir d’un système de stockage existant, consultez Comment ingérer des données historiques dans Azure Data Explorer. |
![]() |
Dans l’interface utilisateur web d’Azure Data Explorer, vous pouvez obtenir des données à partir d’un fichier local, d’Amazon S3 ou d’Stockage Azure. |
![]() |
Pour l’intégrer à Azure Data Factory, consultez Copier des données dans Azure Data Explorer à l’aide d’Azure Data Factory. |
![]() |
Les bibliothèques clientes Kusto sont disponibles pour C#, Python, Java, JavaScript, TypeScript et Go. Vous pouvez écrire du code pour manipuler vos données, puis utiliser la bibliothèque Kusto Ingest pour ingérer des données dans votre table Azure Data Explorer. Les données doivent se trouver dans l’un des formats pris en charge avant l’ingestion. |
Ingestion continue des données
L’ingestion continue excelle dans les situations exigeant des insights immédiats à partir de données actives. Par exemple, l’ingestion continue est utile pour surveiller les systèmes, les données de journal et d’événements et l’analytique en temps réel.
L’ingestion continue des données implique la configuration d’un pipeline d’ingestion soit en flux continu, soit en file d’attente.
Ingestion en diffusion en continu : cette méthode permet une latence en quasi temps réel pour les petits jeux de données par table. Les données sont ingérées dans des micro-lots à partir d’une source de diffusion en continu, initialement placées dans le magasin de lignes, puis transférées dans les segments du magasin de colonnes. Pour plus d’informations, consultez Configuration de l'ingestion de streaming.
Mise en file d’attente de l’ingestion : cette méthode est optimisée pour un débit d’ingestion élevé. Les données sont traitées par lots en fonction des propriétés d’ingestion, avec de petits lots, puis fusionnés et optimisés pour les résultats de requête rapides. Par défaut, les valeurs maximales mises en file d’attente sont de 5 minutes, 1 000 éléments ou une taille totale de 1 Go. La limite de taille des données pour une commande d’ingestion mise en file d’attente est de 6 Go. Cette méthode utilise des mécanismes de nouvelle tentative pour atténuer les défaillances temporaires et suit la sémantique de messagerie « au moins une fois » pour vous assurer qu’aucun message n’est perdu dans le processus. Pour plus d’informations sur l’ingestion en file d’attente, consultez la stratégie de traitement par lots d’ingestion.
Remarque
Pour la plupart des scénarios, nous vous recommandons d’utiliser l’ingestion mise en file d’attente, car il s’agit de l’option la plus performante.
Remarque
L’ingestion mise en file d’attente garantit une mise en mémoire tampon fiable des données pendant jusqu’à 7 jours. Toutefois, si le cluster ne dispose pas d’une capacité suffisante pour terminer l’ingestion dans cette fenêtre de rétention, les données seront supprimées une fois la limite de 7 jours dépassée. Pour éviter les retards de perte et d’ingestion des données, assurez-vous que votre cluster dispose de suffisamment de ressources pour traiter les données mises en file d’attente au cours de la période de 7 jours.
Il existe plusieurs façons de configurer l’ingestion continue des données. Utilisez l’arbre de décision suivant pour déterminer l’option la plus appropriée pour votre cas d’usage :
Pour plus d’informations, consultez la documentation pertinente :
Légende | Documentation pertinente |
---|---|
![]() |
Pour obtenir la liste des connecteurs, consultez vue d’ensemble des connecteurs. |
![]() |
Créez une connexion de données pour Event Hubs. L’intégration avec Event Hubs fournit des services tels que la limitation, les réessais, la surveillance et les alertes. |
![]() |
Ingérer des données à partir d’Apache Kafka, une plateforme de diffusion en continu distribuée pour la création de pipelines de données de streaming en temps réel. |
![]() |
Créez une connexion de données IoT Hub. L'intégration avec les IoT Hubs fournit des services tels que la régulation du flux, les tentatives de réessai, la surveillance et les alertes. |
![]() |
Créez une connexion de données Event Grid. L’intégration à Event Grid fournit des services tels que la régulation du débit, les réessais, la surveillance et les alertes. |
![]() |
Consultez les conseils pour le connecteur approprié, comme Apache Spark, Apache Kafka, Azure Cosmos DB, Fluent Bit, Logstash, Open Telemetry, Power Automate, Splunk, etc. Pour plus d’informations, consultez vue d’ensemble des connecteurs. |
![]() |
Les bibliothèques clientes Kusto sont disponibles pour C#, Python, Java, JavaScript, TypeScript et Go. Vous pouvez écrire du code pour manipuler vos données, puis utiliser la bibliothèque Kusto Ingest pour ingérer des données dans votre table Azure Data Explorer. Les données doivent se trouver dans l’un des formats pris en charge avant l’ingestion. |
Remarque
L’ingestion de diffusion en continu n’est pas prise en charge pour toutes les méthodes d’ingestion. Pour plus d’informations sur le support, consultez la documentation relative à la méthode d’ingestion spécifique.
Ingestion directe avec des commandes de gestion
Azure Data Explorer propose les commandes de gestion d’ingestion suivantes, qui ingèrent des données directement sur votre cluster au lieu d’utiliser le service de gestion des données. Ils doivent être utilisés uniquement pour l’exploration et le prototypage, et non dans les scénarios de production ou de volume élevé.
- Inline ingestion : la commande .ingest inline contient les données à ingérer en tant que partie du texte de commande lui-même. Cette méthode est destinée à des fins de tests improvisés.
- Ingestion à partir de la requête : les commandes .set, .append, .set-or-append ou .set-or-replace spécifient indirectement les données à ingérer en tant que résultats d’une requête ou d’une commande.
- Ingestion à partir du stockage : la commande .ingest into obtient les données à ingérer à partir du stockage externe, tel que le stockage Blob Azure, accessibles par votre cluster et pointée par la commande.
Remarque
En cas d’échec, l’ingestion est réessayée et retentée jusqu'à 48 heures à l’aide de la méthode de temporisation exponentielle pour le temps d’attente entre les tentatives.
Comparer les méthodes d’ingestion
Le tableau suivant compare les principales méthodes d’ingestion :
Nom de l’ingestion | Type de données | Taille maximale du fichier | Diffusion en continu, mis en file d’attente, direct | Scénarios les plus courants | Considérations |
---|---|---|---|---|---|
Connecteur Apache Spark | Chaque format pris en charge par l’environnement Spark | Illimité | Mis en file d’attente | Pipeline existant, prétraitement sur Spark avant ingestion, méthode rapide de création d’un pipeline de streaming (Spark) sécurisé à partir des différentes sources prises en charge par l’environnement Spark. | Envisagez le coût du cluster Spark. Pour l’écriture par lot, comparez avec la connexion de données Azure Data Explorer pour Event Grid. Pour la diffusion en continu Spark, comparez avec la connexion de données pour l’Event Hub. |
Azure Data Factory (ADF) | Formats de données pris en charge | Illimité. Hérite des restrictions ADF. | En file d’attente ou par déclencheur ADF | Prend en charge les formats non pris en charge, tels qu’Excel et XML, et peut copier des fichiers volumineux de plus de 90 sources, d’un emplacement local vers le cloud | Avec cette méthode, l’ingestion des données prend relativement plus de temps. ADF charge toutes les données dans la mémoire, puis commence l’ingestion. |
Event Grid | Formats de données pris en charge | 1 Go non compressé | Mis en file d’attente | Ingestion continue à partir du stockage Azure, données externes dans le stockage Azure | L’ingestion peut être déclenchée par des actions de création ou de renommage d’objets blob |
Centre d’événements | Formats de données pris en charge | N/A | Mise en file d’attente, diffusion en continu | Messages, événements | |
Obtenir une expérience des données | *SV, JSON | 1 Go non compressé | Ingestion en file d’attente ou directe | Ponctuel, création d’un schéma de table, définition de l’ingestion continue avec Event Grid, ingestion en bloc via conteneur (jusqu’à 5 000 objets blob ; sans limite lorsque l’ingestion historique est utilisée) | |
IoT Hub | Formats de données pris en charge | N/A | Mise en file d’attente, diffusion en continu | Messages IoT, événements IoT, propriétés IoT | |
Connecteur Kafka | Avro, ApacheAvro, JSON, CSV, Parquet et ORC | Illimité. Hérite des restrictions Java. | Mise en file d’attente, diffusion en continu | Pipeline existant, consommation élevée depuis la source. | La préférence peut être déterminée par l’utilisation existante d’un service de plusieurs producteurs ou consommateurs ou du niveau de gestion de service souhaité. |
Bibliothèques clientes Kusto | Formats de données pris en charge | 1 Go non compressé | Mise en file d’attente, diffusion en continu, direct | Rédigez votre propre code selon les besoins de l'organisation | L’ingestion par programmation est optimisée pour réduire les coûts d’ingestion (COG) en réduisant les transactions de stockage pendant et en suivant le processus d’ingestion. |
LightIngest | Formats de données pris en charge | 1 Go non compressé | Ingestion en file d’attente ou directe | Migration des données, données historiques avec horodatages d’ingestion ajustés, ingestion en bloc | Respecte la casse et respecte les espaces |
Applications logiques | Formats de données pris en charge | 1 Go non compressé | Mis en file d’attente | Utilisé pour automatiser des pipelines | |
LogStash | JSON | Illimité. Hérite des restrictions Java. | Mis en file d’attente | Pipeline existant, utilisation de la nature open source et mature de Logstash pour une consommation de volume élevé à partir de la ou des entrées. | La préférence peut être déterminée par l’utilisation existante d’un service de plusieurs producteurs ou consommateurs ou du niveau de gestion de service souhaité. |
Automatisation de la puissance | Formats de données pris en charge | 1 Go non compressé | Mis en file d’attente | Commandes d’ingestion dans le cadre du flux. Utilisé pour automatiser des pipelines. |
Pour plus d’informations sur d’autres connecteurs, consultez vue d’ensemble des connecteurs.
autorisations
La liste suivante décrit les autorisations requises pour différents scénarios d’ingestion :
- Pour créer une table, vous devez disposer d’au moins des autorisations utilisateur de base de données.
- Pour ingérer des données dans une table existante, sans modifier son schéma, vous devez disposer au moins d’autorisations d’ingestion de table.
- Pour modifier le schéma d’une table existante, vous devez disposer au moins des autorisations d’administrateur de table ou d’administrateur de base de données.
Le tableau suivant décrit les autorisations requises pour chaque méthode d’ingestion :
Méthode d’ingestion | autorisations |
---|---|
Ingestion ponctuelle | Au moins l’ingesteur de table |
Ingestion continue de diffusion en continu | Au moins l’ingesteur de table |
Ingestion en file d’attente continue | Au moins l’ingesteur de table |
Ingestion inline directe | Au moins l’ingesteur de table et également la visionneuse de base de données |
Ingestion directe à partir d’une requête | Au moins l’ingesteur de table et également la visionneuse de base de données |
Ingestion directe à partir du stockage | Au moins l’ingesteur de table |
Pour plus d’informations, consultez Contrôle d’accès en fonction du rôle Kusto.
Processus d’ingestion
Les étapes suivantes décrivent le processus d’ingestion général :
Définir la stratégie de traitement par lots (facultatif) : les données sont traitées par lot en fonction de la stratégie de traitement par lot d’ingestion. Pour obtenir des conseils, consultez Optimisation du débit.
Définir la stratégie de rétention (facultative) : si la stratégie de rétention de base de données n’est pas adaptée à vos besoins, remplacez-la au niveau de la table. Pour plus d’informations, consultez Stratégie de conservation.
Créez une table : si vous utilisez l’expérience Obtenir des données, vous pouvez créer une table dans le cadre du flux d’ingestion. Sinon, créez une table avant l’ingestion dans l’interface utilisateur web d’Azure Data Explorer ou avec la commande .create table.
Créer un mappage de schéma : les mappages de schéma permettent de lier des champs de données sources aux colonnes de table de destination. Différents types de mappages sont pris en charge, notamment les formats orientés lignes tels que CSV, JSON et AVRO, et les formats orientés colonnes comme Parquet. Dans la plupart des méthodes, les mappages peuvent également être précréés dans la table.
Définir la stratégie de mise à jour (facultatif) : certains formats de données tels que Parquet, JSON et Avro permettent des simples transformations au moment de l'ingestion. Pour un traitement plus complexe pendant l’ingestion, utilisez la stratégie de mise à jour. Cette stratégie exécute automatiquement des extractions et des transformations sur les données ingérées dans la table d’origine, puis ingère les données modifiées dans une ou plusieurs tables de destination.
Données d’ingestion : utilisez votre outil d’ingestion, connecteur ou méthode préféré pour importer les données.