Remarque
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.
Important
Azure Synapse Analytics Data Explorer (version préliminaire) sera retiré le 7 octobre 2025. Après cette date, les charges de travail exécutées sur Synapse Data Explorer seront supprimées et les données d’application associées seront perdues. Nous vous recommandons vivement de migrer vers Eventhouse dans Microsoft Fabric.
Le programme Microsoft Cloud Migration Factory (CMF) est conçu pour aider les clients à migrer vers Fabric. Le programme offre des ressources clavier pratiques sans coût pour le client. Ces ressources sont affectées pendant une période de 6 à 8 semaines, avec une étendue prédéfinie et acceptée. Les nominations des clients sont acceptées par l’équipe de compte Microsoft ou directement en envoyant une demande d’aide à l’équipe CMF.
L’ingestion de streaming est utile pour charger des données lorsque vous avez besoin d’une faible latence entre l’ingestion et la requête. Envisagez d’utiliser l’ingestion de streaming dans les scénarios suivants :
- La latence de moins d’une seconde est requise.
- Pour optimiser le traitement opérationnel d’un grand nombre de tables, lorsque le flux de données de chaque table est relativement faible (quelques enregistrements par seconde), mais que le volume global d’ingestion de données est élevé (des milliers d’enregistrements par seconde).
Si le flux de données dans chaque table est élevé (plus de 4 Go par heure), envisagez d’utiliser l’ingestion par lots.
Pour en savoir plus sur les différentes méthodes d’ingestion, consultez la vue d’ensemble de l’ingestion des données.
Choisir le type d’ingestion de streaming approprié
Deux types d’ingestion de streaming sont pris en charge :
| Type d’ingestion | Descriptif |
|---|---|
| Event Hub ou IoT Hub | Les hubs sont configurés en tant que sources de données en streaming de table. Pour plus d’informations sur la configuration de ces éléments, consultez Event Hub. |
| Ingestion personnalisée | L’ingestion personnalisée vous oblige à écrire une application qui utilise l’une des bibliothèques clientes Azure Synapse Data Explorer. Utilisez les informations de cette rubrique pour configurer l’ingestion personnalisée. Vous pouvez également trouver l’exemple d’application d’ingestion de streaming C# utile. |
Utilisez le tableau suivant pour vous aider à choisir le type d’ingestion approprié pour votre environnement :
| Critère | Event Hub / IoT Hub | Ingestion personnalisée |
|---|---|---|
| Délai de données entre l’initiation d’ingestion et les données disponibles pour la requête | Délai plus long | Délai plus court |
| Surcharge de développement | Configuration rapide et simple, aucune surcharge de développement | Surcharge de développement élevée pour créer une application ingérer les données, gérer les erreurs et garantir la cohérence des données |
Note
L’ingestion de données à partir d’Event Hub dans des pools de l’Explorateur de données ne fonctionne pas si votre espace de travail Synapse utilise un réseau virtuel managé avec la protection contre l’exfiltration des données activée.
Prerequisites
Un abonnement Azure. Créez un compte Azure gratuit.
Créez un pool Data Explorer en utilisant Synapse Studio ou le portail Azure
Créez une base de données Data Explorer.
Dans Synapse Studio, dans le volet de gauche, sélectionnez Données.
Sélectionnez +(Ajouter une nouvelle ressource) >Groupe Data Explorer et utilisez les informations suivantes :
Réglage Valeur suggérée Descriptif Nom du pool contosodataexplorer Nom du pool Data Explorer à utiliser Nom TestDatabase Ce nom de base de données doit être unique dans le cluster. Période de conservation par défaut 365 Intervalle de temps (en jours) pendant lequel vous avez la garantie d’avoir les données à disposition pour les interroger. Cet intervalle se mesure à partir du moment où les données sont ingérées. Période de cache par défaut 31 Intervalle de temps (en jours) pendant lequel les données fréquemment interrogées restent disponibles dans le stockage SSD ou la RAM, plutôt que dans un stockage à plus long terme. Sélectionnez Créer pour créer la base de données. La création prend généralement moins d’une minute.
- Obtenez les points de terminaison de requête et d’ingestion des données.
Dans Synapse Studio, dans le volet de gauche, sélectionnez Gérer>Pools Data Explorer.
Sélectionnez le pool Data Explorer que vous souhaitez utiliser pour afficher ses détails.
Notez les points de terminaison de requête et d’ingestion des données. Utilisez le point de terminaison de requête comme cluster lors de la configuration des connexions à votre pool Data Explorer. Lors de la configuration des kits SDK pour l’ingestion de données, utilisez le point de terminaison d’ingestion des données.
Considérations relatives aux performances et aux opérations
Les principaux contributeurs qui peuvent avoir un impact sur l’ingestion de streaming sont les suivants :
- Spécification de calcul : niveau de performance de l’ingestion en streaming et échelles de capacité avec des tailles de pool Data Explorer accrues. Le nombre de demandes d’ingestion simultanées est limité à six par cœur. Par exemple, pour le type de charge de travail de 16 cœurs, tel que Le calcul optimisé (grand) et le stockage optimisé (grand), la charge maximale prise en charge est de 96 demandes d’ingestion simultanées. Pour deux types de charge de travail principaux, tels que Compute Optimized (Extra Small), la charge maximale prise en charge est de 12 demandes d’ingestion simultanées.
- Limite de taille des données : la limite de taille des données pour une demande d’ingestion de streaming est de 4 Mo.
- Mises à jour de schéma : les mises à jour de schéma, telles que la création et la modification des tables et des mappages d’ingestion, peuvent prendre jusqu’à cinq minutes pour le service d’ingestion de streaming. Pour plus d’informations, consultez Les modifications apportées à l’ingestion et au schéma de streaming.
- Capacité SSD : activer l’ingestion en streaming sur un pool Data Explorer, même si les données ne sont pas ingérées via le streaming, utilise une partie du disque SSD local des machines du pool Data Explorer pour l’ingestion en streaming et réduit le stockage disponible pour le cache actif.
Activer l’ingestion de streaming sur votre pool Data Explorer
Avant de pouvoir utiliser l’ingestion de streaming, vous devez activer la fonctionnalité sur votre pool Data Explorer et définir une stratégie d’ingestion de streaming. Vous pouvez activer la fonctionnalité lors de la création du pool Data Explorer ou l’ajouter à un pool Data Explorer existant.
Avertissement
Passez en revue les limitations avant d’activer l’ingestion de streaming.
Activer l’ingestion de streaming lors de la création d’un pool Data Explorer
Vous pouvez activer l’ingestion de streaming lors de la création d’un pool Data Explorer à l’aide d’Azure Synapse Studio ou du portail Azure.
Lors de la création d’un pool Data Explorer à l’aide des étapes de création d’un pool Data Explorer à l’aide de Synapse Studio, sous l’onglet Paramètres supplémentaires, sélectionnez Ingestion> de streamingactivée.
Activer l’ingestion de streaming sur un pool Data Explorer existant
Si vous disposez d’un pool Data Explorer existant, vous pouvez activer l’ingestion de streaming à l’aide du portail Azure.
- Dans le portail Azure, accédez à votre pool Data Explorer.
- Dans Paramètres, sélectionnez Configurations.
- Dans le volet Configurations , sélectionnez Activé pour activer l’ingestion de streaming.
- Cliquez sur Enregistrer.
Créer une table cible et définir la stratégie
Créez une table pour recevoir les données d’ingestion de streaming et définissez sa stratégie associée à l’aide d’Azure Synapse Studio ou du portail Azure.
Dans Synapse Studio, dans le volet de gauche, sélectionnez Développer.
Sous Scripts KQL, sélectionnez + (Ajouter une nouvelle ressource) >Script KQL. Dans le volet de droite, vous pouvez nommer votre script.
Dans le menu Connecter à, sélectionnez contosodataexplorer.
Dans le menu Utiliser la base de données, sélectionnez TestDatabase.
Collez la commande suivante, puis sélectionnez Exécuter pour créer la table.
.create table TestTable (TimeStamp: datetime, Name: string, Metric: int, Source:string)Copiez l’une des commandes suivantes dans le volet Requête et sélectionnez Exécuter. Cela définit la stratégie d’ingestion de streaming sur la table que vous avez créée ou sur la base de données qui contient la table.
Conseil / Astuce
Une stratégie définie au niveau de la base de données s’applique à toutes les tables existantes et futures de la base de données.
Pour définir la stratégie sur la table que vous avez créée, utilisez :
.alter table TestTable policy streamingingestion enablePour définir la stratégie sur la base de données contenant la table que vous avez créée, utilisez :
.alter database StreamingTestDb policy streamingingestion enable
Créer une application d’ingestion de streaming pour ingérer des données dans votre pool Data Explorer
Créez votre application pour l’ingestion de données dans votre pool Data Explorer à l’aide de votre langue préférée. Pour la variable poolPath , utilisez le point de terminaison de requête que vous avez noté dans les conditions préalables.
using Kusto.Data;
using Kusto.Ingest;
using System.IO;
using Kusto.Data.Common;
namespace StreamingIngestion
{
class Program
{
static void Main(string[] args)
{
string poolPath = "https://<Poolname>.<WorkspaceName>.kusto.windows.net";
string appId = "<appId>";
string appKey = "<appKey>";
string appTenant = "<appTenant>";
string dbName = "<dbName>";
string tableName = "<tableName>";
// Create Kusto connection string with App Authentication
var csb =
new KustoConnectionStringBuilder(poolPath)
.WithAadApplicationKeyAuthentication(
applicationClientId: appId,
applicationKey: appKey,
authority: appTenant
);
// Create a disposable client that will execute the ingestion
using (IKustoIngestClient client = KustoIngestFactory.CreateStreamingIngestClient(csb))
{
// Initialize client properties
var ingestionProperties =
new KustoIngestionProperties(
databaseName: dbName,
tableName: tableName
);
// Ingest from a compressed file
var fileStream = File.Open("MyFile.gz", FileMode.Open);
// Create source options
var sourceOptions = new StreamSourceOptions()
{
CompressionType = DataSourceCompressionType.GZip,
};
// Ingest from stream
var status = client.IngestFromStreamAsync(fileStream, ingestionProperties, sourceOptions).GetAwaiter().GetResult();
}
}
}
}
Désactiver l’ingestion de streaming sur votre pool Data Explorer
Avertissement
La désactivation de l’ingestion de streaming peut prendre quelques heures.
Avant de désactiver l’ingestion de streaming sur votre pool Data Explorer, supprimez la stratégie d’ingestion de streaming de toutes les tables et bases de données pertinentes. La suppression de la politique d'ingestion en continu déclenche la réorganisation des données à l'intérieur de votre pool Data Explorer. Les données d’ingestion en streaming sont déplacées du stockage initial vers le stockage permanent dans la banque de colonnes (étendues ou partitions). Ce processus peut prendre entre quelques secondes et quelques heures, en fonction de la quantité de données dans le stockage initial.
Supprimer la stratégie d’ingestion en streaming
Vous pouvez supprimer la stratégie d’ingestion de streaming à l’aide d’Azure Synapse Studio ou du portail Azure.
Dans Synapse Studio, dans le volet de gauche, sélectionnez Développer.
Sous Scripts KQL, sélectionnez + (Ajouter une nouvelle ressource) >Script KQL. Dans le volet de droite, vous pouvez nommer votre script.
Dans le menu Connecter à, sélectionnez contosodataexplorer.
Dans le menu Utiliser la base de données, sélectionnez TestDatabase.
Collez la commande suivante, puis sélectionnez Exécuter pour créer la table.
.delete table TestTable policy streamingingestionDans le portail Azure, accédez à votre pool Data Explorer.
Dans Paramètres, sélectionnez Configurations.
Dans le volet Configurations , sélectionnez Activé pour activer l’ingestion de streaming.
Cliquez sur Enregistrer.
Limites
- Les curseurs de base de données ne sont pas pris en charge pour une base de données si la base de données elle-même ou l’une de ses tables a la stratégie d’ingestion de streaming définie et activée.
- Les mappages de données doivent être créés à l'avance pour être utilisés dans l’ingestion de streaming. Les demandes d’ingestion de streaming individuelles ne prennent pas en charge les mappages de données inline.
- Les balises d’étendue ne peuvent pas être définies sur les données d’ingestion de streaming.
- Mettre à jour la stratégie. La stratégie de mise à jour ne peut référencer que les données nouvellement ingérées dans la table source et non pas d’autres données ou tables de la base de données.
- Si l’ingestion de streaming est utilisée sur l’une des tables de la base de données, cette base de données ne peut pas être utilisée comme leader pour les bases de données de suivi ou en tant que fournisseur de données pour Azure Synapse Analytics Data Share.