Partager via


Apache Spark sur Azure Databricks

Apache Spark est au cœur d’Azure Databricks Data Intelligence Platform et est la technologie qui alimente les clusters de calcul et les entrepôts SQL. Azure Databricks est une plateforme optimisée pour Apache Spark qui fournit une plateforme efficace et simple pour l’exécution de charges de travail Apache Spark.

Quelle est la relation entre Apache Spark et Azure Databricks ?

La société Databricks a été fondée par les créateurs d’origine d’Apache Spark. En tant que projet logiciel open source, Apache Spark a des committeurs issus de nombreuses meilleures entreprises, notamment Databricks.

Databricks continue de développer et de publier des fonctionnalités dans Apache Spark. Databricks Runtime, qui alimente Azure Databricks, inclut des optimisations supplémentaires et des fonctionnalités propriétaires qui s’appuient et étendent Apache Spark, notamment Photon, une couche d’exécution optimisée qui peut être utilisée conjointement avec Spark. Databricks Photon est conçu pour fonctionner avec et améliorer les performances des charges de travail Apache Spark. Photon améliore les performances de Spark en vectorisant des requêtes et d’autres opérations, ce qui permet une exécution plus rapide des opérations d’API SQL et DataFrame.

Comment Databricks est-il optimisé pour Apache Spark ?

Dans Apache Spark, toutes les opérations sont définies en tant que transformations ou actions.

  • Transformations : ajoutez une logique de traitement au plan. Les exemples incluent la lecture de données, les jointures, les agrégations et la conversion de type.
  • Actions : déclencher la logique de traitement pour évaluer et générer un résultat. Les exemples incluent les écritures, l’affichage ou l’aperçu des résultats, la mise en cache manuelle ou l’obtention du nombre de lignes.

Apache Spark utilise un modèle d’exécution différé , ce qui signifie qu’aucune logique définie par une collection d’opérations n’est évaluée jusqu’à ce qu’une action soit déclenchée. Pour éviter toute évaluation inutile de la logique, utilisez uniquement des actions pour enregistrer les résultats dans une table cible.

Étant donné que les actions représentent un goulot d’étranglement de traitement pour optimiser la logique, Azure Databricks a ajouté de nombreuses optimisations en plus de celles déjà présentes dans Apache Spark pour garantir une exécution logique optimale. Ces optimisations considèrent toutes les transformations déclenchées par une action donnée à la fois et recherchent le plan optimal en fonction de la disposition physique des données. La mise en cache manuelle des données ou le retour de résultats en préversion dans les pipelines de production peut interrompre ces optimisations et entraîner des augmentations de coût et de latence.

Comment Apache Spark fonctionne-t-il sur Azure Databricks ?

Lorsque vous déployez un cluster de calcul ou un entrepôt SQL sur Azure Databricks, Apache Spark est configuré et déployé sur des machines virtuelles. Vous n’avez pas besoin de configurer ou d’initialiser un contexte Spark ou une session Spark, car celles-ci sont gérées pour vous par Azure Databricks.

Puis-je utiliser Azure Databricks sans utiliser Apache Spark ?

Oui. Azure Databricks prend en charge diverses charges de travail et comprend des bibliothèques open source dans Databricks Runtime. Databricks SQL utilise Photon sous le capot, mais les utilisateurs finaux peuvent utiliser la syntaxe Spark SQL pour créer et interroger des objets de base de données avec Photon.

Databricks Runtime pour le Machine Learning est optimisé pour les charges de travail ML et de nombreux scientifiques des données utilisent des bibliothèques open source principales comme TensorFlow et SciKit Learn quand ils utilisent Azure Databricks. Vous pouvez utiliser des travaux pour planifier des charges de travail arbitraires sur des ressources de calcul déployées et managées par Azure Databricks.

Pourquoi utiliser Apache Spark sur Azure Databricks ?

La plateforme Databricks fournit un environnement collaboratif sécurisé pour le développement et le déploiement de solutions d’entreprise qui évoluent avec votre activité. Les employés de Databricks incluent la plupart des responsables de maintenance et utilisateurs Apache Spark les plus compétents au monde. L’entreprise développe et publie en permanence de nouvelles optimisations pour assurer aux utilisateurs un accès plus rapide à l’environnement pour exécuter Apache Spark.

Comment en savoir plus sur l’utilisation d’Apache Spark sur Azure Databricks ?

Si vous voulez commencer à utiliser Apache Spark sur Azure Databricks, vous êtes au bon endroit. Le tutoriel Apache Spark DataFrames vous guide tout au long du chargement et de la transformation de données en Python, R ou Scala. Consultez le Tutoriel : charger et transformer des données en utilisant des DataFrames Apache Spark.

Pour plus d’informations sur la prise en charge du langage Python, R et Scala dans Spark, consultez PySpark sur Azure Databricks, sparklyr et Azure Databricks pour les développeurs Scala, ainsi que dans Référence pour les API Apache Spark.