Choisir une technologie de traitement par lots dans Azure

Les solutions de Big Data utilisent souvent de longs traitements par lots pour filtrer, agréger et, plus généralement, préparer les données pour l’analyse. Généralement, ces tâches impliquent de lire les fichiers sources dans un système de stockage scalable (comme HDFS, Azure Data Lake Store et le Stockage Azure), de les traiter et d’écrire la sortie dans de nouveaux fichiers au sein du système de stockage scalable.

L’exigence fondamentale de ces moteurs de traitement par lots est la possibilité d’effectuer un scale-out des calculs pour gérer de gros volumes de données. Contrairement au traitement en temps réel, le traitement par lots est censé afficher des latences (temps entre l’ingestion des données et le calcul du résultat) qui se mesurent en minutes, voire en heures.

Choix de technologie pour le traitement par lots

Azure Synapse Analytics

Azure Synapse est un système distribué conçu pour réaliser des analyses sur de grandes quantités de données. Il prend en charge le traitement MPP (Massive Parallel Processing), le rendant ainsi adapté à l’exécution d’analyses hautes performances. Préférez utiliser Azure Synapse lorsque vous disposez d'une importante quantité de données (supérieure à 1 To) et que vous exécutez une charge de travail d'analyse qui profitera de ce parallélisme.

Service Analytique Azure Data Lake

Data Lake Analytics est un service de travaux d’analyse à la demande. Il est optimisé pour le traitement distribué de grands jeux de données stockés dans Azure Data Lake Store.

  • Langages : U-SQL (y compris Python, R, et les extensions C#).
  • S’intègre à Azure Data Lake Storage, aux objets blob de stockage Azure, à Azure SQL Database et à Azure Synapse.
  • Le modèle de tarification est calculé en fonction du nombre de travaux.

HDInsight

HDInsight est un service géré Hadoop. Utilisez-le pour déployer et gérer des clusters Hadoop dans Azure. Pour le traitement par lots, vous pouvez utiliser Spark, Hive, Hive LLAP, MapReduce.

  • Langages : R, Python, Java, Scala, SQL
  • Authentification Kerberos avec Active Directory, contrôle d’accès basé sur Apache Ranger
  • Vous offre un contrôle total sur le cluster Hadoop

Azure Databricks

Azure Databricks est une plateforme d’analyse basée sur Apache Spark. Vous pouvez la considérer comme « Spark as a service ». C’est le moyen le plus simple d’utiliser Spark sur la plateforme Azure.

  • Langages : R, Python, Java, Scala, Spark SQL
  • Heures de début du cluster rapides, arrêt et mise à l’échelle automatiques.
  • Gère le cluster Spark à votre place.
  • Intégration au Stockage Blob Azure, à Azure Data Lake Storage (ADLS), à Azure Synapse et à d’autres services. Consultez Source de données.
  • Authentification utilisateur avec Microsoft Entra ID.
  • Notebooks basés sur le web pour la collaboration et l’exploration de données.
  • Prend en charge les clusters compatibles GPU

Critères de sélection principaux

Pour restreindre les choix, commencez par répondre aux questions suivantes :

  • Préférez-vous opter pour un service géré plutôt que de gérer vos propres serveurs ?

  • Souhaitez-vous créer la logique de traitement par lots de manière déclarative ou impérative ?

  • Effectuerez-vous des traitements par lots en rafales ? Si oui, tournez-vous vers des solutions permettant l’arrêt automatique du cluster ou suivant un modèle tarifaire par programme de traitement par lots.

  • Avez-vous besoin d’interroger des magasins de données relationnels en parallèle de vos traitements par lots, par exemple, pour rechercher des données de référence ? Si c’est le cas, optez pour des solutions permettant d’interroger des magasins relationnels externes.

Matrice des fonctionnalités

Les tableaux suivants résument les principales différences entre les fonctionnalités.

Fonctionnalités générales

Fonctionnalité Service Analytique Azure Data Lake Azure Synapse HDInsight Azure Databricks
Est un service géré Oui Oui Oui 1 Oui
Magasin de données relationnel Oui Oui No Oui
Modèle de tarification Par programme de traitement par lots Par heure de cluster Par heure de cluster Unité Databricks2 + heure de cluster

[1] Avec une configuration manuelle.

[2] Une unité Databricks (DBU) est une unité de capabilité de processus par heure.

Fonctions

Fonctionnalité Service Analytique Azure Data Lake Azure Synapse HDInsight avec Spark HDInsight avec Hive HDInsight avec Hive LLAP Azure Databricks
Mise à l’échelle automatique Non Non Oui Oui Oui Oui
Granularité de la montée en charge Par tâche Par cluster Par cluster Par cluster Par cluster Par cluster
Mise en cache des données en mémoire Non Oui Oui No Oui Oui
Interrogation à partir de magasins relationnels externes Oui No Oui No Non Oui
Authentification Microsoft Entra ID SQL / Microsoft Entra ID Non Microsoft Entra ID1 Microsoft Entra ID1 Microsoft Entra ID
Audit Oui Oui Non Oui 1 Oui 1 Oui
Sécurité au niveau des lignes Non Oui2 Non Oui 1 Oui 1 Oui
Prend en charge les pare-feu Oui Oui Oui Oui 3 Oui 3 Oui
Masquage dynamique des données Non Oui Non Oui 1 Oui 1 Oui

[1] Suppose d’utiliser un cluster HDInsight joint à un domaine.

[2] prédicats de filtre uniquement. Consultez la page Sécurité au niveau des lignes

[3] Pris en charge si utilisé au sein d’un Réseau virtuel Azure.

Contributeurs

Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.

Auteur principal :

Étapes suivantes