Apache Spark sur Databricks
Apache Spark est au cœur de la Databricks Data Intelligence Platform et est la Technologie qui alimente les clusters compute et les SQL Warehouse. Databricks est une plateforme optimisée pour Apache Spark qui fournit une plateforme efficace et simple pour l'exécution des charges de travail Apache Spark.
Quel est le lien entre Apache Spark et Databricks ?
L'entreprise Databricks a été fondée par les créateurs originaux d'Apache Spark. En tant que projet logiciel open source, Apache Spark compte des contributeurs de nombreuses grandes entreprises, y compris Databricks.
Databricks continue de développer et de publier des fonctionnalités pour Apache Spark. Le Databricks Runtime, qui propulse Databricks, inclut des optimisations supplémentaires et des fonctionnalités propriétaires qui s'appuient sur et étendent Apache Spark, y compris 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 les query et autres Opérations, permettant une exécution plus rapide des Opérations SQL et de l'API DataFrame.
Comment Databricks est-il optimisé pour Apache Spark ?
Dans Apache Spark, toutes les opérations sont définies comme des Transformations ou des actions.
- Transformations : ajoutez de la logique de traitement au plan. Les exemples incluent la lecture de données, les jointures, les agrégations et le transtypage.
- Actions : logique de traitement du Trigger pour évaluer et générer un résultat. Exemples : les écritures, l'affichage ou la prévisualisation des résultats, la mise en cache manuelle ou l'obtention du nombre de lignes.
Apache Spark utilise un modèle d' exécution paresseuse , ce qui signifie qu'aucune des logiques définies par une collection d'opérations n'est évaluée tant qu'une action n'est pas déclenchée. Pour éviter l'évaluation inutile de la logique, utilisez uniquement des actions pour enregistrer les résultats dans une table cible.
Parce que les actions représentent un goulot d'étranglement de traitement pour l'optimisation de la logique, Databricks a ajouté de nombreuses optimisations en plus de celles déjà présentes dans Apache Spark pour assurer une exécution logique optimale. Ces optimisations considèrent toutes les Transformations déclenchées par une action donnée simultanément et trouvent le plan optimal en fonction du Layout physique des données. La mise en cache manuelle des données ou le retour des résultats d'aperçu dans les pipelines de production peuvent interrompre ces optimisations et entraîner une augmentation des coûts et de la latence.
Comment Apache Spark fonctionne-t-il sur Databricks ?
Lorsque vous déployez un cluster de calcul ou un SQL Warehouse sur 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 ceux-ci sont gérés pour vous par Databricks.
Puis-je utiliser Databricks sans Apache Spark ?
Oui. Databricks prend en charge une variété de charges de travail et inclut des bibliothèques open source dans le Databricks Runtime. Databricks SQL utilise Photon en arrière-plan, mais les utilisateurs finaux peuvent utiliser la syntaxe Spark SQL pour créer et query des objets de base de données avec Photon.
Databricks Runtime for Machine Learning est optimisé pour les charges de travail ML, et de nombreux data scientists utilisent des bibliothèques open source principales comme TensorFlow et SciKit Learn lorsqu'ils travaillent sur Databricks. Vous pouvez utiliser des Jobs pour planifier des charges de travail arbitraires sur des ressources de compute déployées et gérées par Databricks.
Pourquoi utiliser Apache Spark sur Databricks ?
La plateforme Databricks offre un environnement sécurisé et collaboratif pour le développement et le déploiement de solutions d'entreprise qui évoluent avec votre activité. Les employés de Databricks comptent parmi les mainteneurs et utilisateurs d'Apache Spark les plus compétents au monde. L'entreprise développe et publie continuellement de nouvelles optimisations pour s'assurer que les utilisateurs peuvent accéder à l'environnement le plus rapide pour l'exécution d'Apache Spark.
Comment puis-je en apprendre davantage sur l'utilisation d'Apache Spark sur Databricks ?
Pour start avec Apache Spark sur Databricks, lancez-vous ! Le tutoriel Apache Spark DataFrames explique comment charger et transformer des données en Python, R ou Scala. Voir Tutoriel : Charger et transformer des données à l'aide d'Apache Spark DataFrames. Pour d'autres guides et Link vers des informations supplémentaires, consultez Apache Spark sur Databricks.
Pour plus d'informations sur la prise en charge des langages Python, R et Scala dans Spark, consultez PySpark sur Databricks, Sparklyr et Databricks pour les développeurs Scala, ainsi que la Référence des APIs Apache Spark.