Explorer Apache Spark sur Microsoft Azure

Effectué

Apache Spark est une infrastructure de traitement distribuée pour l’analytique données à grande échelle. Vous pouvez utiliser Spark sur Microsoft Azure dans les services suivants :

  • Azure Synapse Analytics
  • Azure Databricks
  • Azure HDInsight

Spark peut être utilisé pour exécuter du code (généralement Python, Scala ou Java) en parallèle sur plusieurs nœuds de cluster, ce qui permet de traiter efficacement de très grands volumes de données. Spark peut être utilisé à la fois pour le traitement par lots et le traitement par flux.

Spark Structured Streaming

Pour traiter les données de diffusion en continu sur Spark, vous pouvez utiliser la bibliothèque Spark Structured Streaming, qui fournit une interface de programmation d’applications (API) pour la réception, le traitement et la génération de résultats à partir de flux perpétuels de données.

Spark Structured Streaming est basé sur une structure omniprésente dans Spark appelée dataframe, qui encapsule une table de données. Vous utilisez l’API Spark Structured Streaming pour lire des données à partir d’une source de données en temps réel, comme un hub Kafka, un magasin de fichiers ou un port réseau, dans un dataframe « sans limite » qui est continuellement rempli avec les nouvelles données du flux. Vous définissez ensuite une requête sur le dataframe qui sélectionne, projette ou agrège les données, souvent dans des fenêtres temporelles. Les résultats de la requête génèrent un autre dataframe, qui peut être conservé pour l’analyse ou un traitement supplémentaire.

Streaming data is written to a dataframe, which is queried to create another dataframe for analysis

Le Flux structuré Spark est un bon choix pour l’analyse en temps réel lorsque vous devez incorporer des données de diffusion en continu dans un lac de données ou un magasin de données analytiques basé sur Spark.

Notes

Pour plus d’informations sur Spark Structured Streaming, consultez le Guide de programmation de Spark Structured Streaming.

Delta Lake

Delta Lake est une couche de stockage open source qui ajoute la prise en charge de la cohérence transactionnelle, de la mise en œuvre du schéma et d’autres fonctionnalités courantes de l’entreposage de données au stockage de lac de données. Elle unifie également le stockage pour les données de diffusion en continu et en lots. Elle peut être utilisée dans Spark pour définir des tables relationnelles à la fois pour le traitement par lots et le traitement par flux. Lorsqu’elle est utilisée pour le traitement des flux, un tableau Delta Lake peut être utilisé comme source de diffusion en continu pour les requêtes sur des données en temps réel, ou en tant que récepteur dans lequel un flux de données est écrit.

Les runtimes Spark dans Azure Synapse Analytics et Azure Databricks prennent en charge Delta Lake.

Delta Lake combiné avec le Flux structuré Spark est une bonne solution lorsque vous devez extraire des données traitées par lots et par flux dans un lac de données derrière un schéma relationnel pour l’analyse et l’interrogation basées sur SQL.

Notes

Pour plus d’informations sur Delta Lake, consultez Qu’est-ce que Delta Lake ?