Bien démarrer avec Apache SparkGet started with Apache Spark

Ce module de didacticiel vous aide à vous familiariser rapidement avec l’utilisation de Apache Spark.This tutorial module helps you to get started quickly with using Apache Spark. Nous évoquons brièvement les concepts clés. vous pouvez donc accéder à l’écriture de votre première Apache Spark application.We discuss key concepts briefly, so you can get right down to writing your first Apache Spark application. Dans les autres modules du didacticiel de ce guide, vous aurez la possibilité d’aller plus loin dans l’article de votre choix.In the other tutorial modules in this guide, you will have the opportunity to go deeper into the article of your choice.

Dans ce module de didacticiel, vous allez apprendre à :In this tutorial module, you will learn:

Nous fournissons également des exemples de bloc-notes que vous pouvez importer pour accéder à tous les exemples de code inclus dans le module et les exécuter.We also provide sample notebooks that you can import to access and run all of the code examples included in the module.

SpécificationsRequirements

Démarrage rapide : exécuter un travail Spark sur Azure Databricks à l’aide de la portail Azure.Complete Quickstart: Run a Spark job on Azure Databricks using the Azure portal.

Interfaces Spark Spark interfaces

Il existe trois interfaces clés Apache Spark que vous devez connaître : jeu de données distribué résilient, tableau et jeu de données.There are three key Apache Spark interfaces that you should know about: Resilient Distributed Dataset, DataFrame, and Dataset.

  • Jeu de données distribué résilient: la première Apache Spark abstraction était le jeu de données distribué résilient (RDD).Resilient Distributed Dataset: The first Apache Spark abstraction was the Resilient Distributed Dataset (RDD). Il s’agit d’une interface avec une séquence d’objets de données qui se composent d’un ou de plusieurs types situés dans une collection d’ordinateurs (un cluster).It is an interface to a sequence of data objects that consist of one or more types that are located across a collection of machines (a cluster). Les RDD peuvent être créés de différentes façons et sont les API de niveau le plus bas disponibles.RDDs can be created in a variety of ways and are the “lowest level” API available. Bien qu’il s’agit de la structure de données d’origine pour Apache Spark, vous devez vous concentrer sur l’API tableau, qui est un sur-ensemble de la fonctionnalité RDD.While this is the original data structure for Apache Spark, you should focus on the DataFrame API, which is a superset of the RDD functionality. L’API RDD est disponible dans les langages Java, Python et Scala.The RDD API is available in the Java, Python, and Scala languages.
  • Tableau: il s’agit d’un concept similaire au tableau, que vous connaissez peut-être dans la bibliothèque de pandas Python et le langage R.DataFrame: These are similar in concept to the DataFrame you may be familiar with in the pandas Python library and the R language. L’API tableau est disponible dans les langages Java, Python, R et Scala.The DataFrame API is available in the Java, Python, R, and Scala languages.
  • DataSet: combinaison de tableau et RDD.Dataset: A combination of DataFrame and RDD. Il fournit l’interface typée qui est disponible dans RDD tout en offrant la commodité du tableau.It provides the typed interface that is available in RDDs while providing the convenience of the DataFrame. L’API DataSet est disponible dans les langages Java et Scala.The Dataset API is available in the Java and Scala languages.

Dans de nombreux scénarios, en particulier avec les optimisations de performances incorporées dans les trames et les jeux de données, il n’est pas nécessaire de travailler avec RDD.In many scenarios, especially with the performance optimizations embedded in DataFrames and Datasets, it will not be necessary to work with RDDs. Toutefois, il est important de comprendre l’abstraction de RDD, car :But it is important to understand the RDD abstraction because:

  • Le RDD est l’infrastructure sous-jacente qui permet à Spark de s’exécuter aussi rapidement et de fournir un lignage des données.The RDD is the underlying infrastructure that allows Spark to run so fast and provide data lineage.
  • Si vous plongez dans des composants plus avancés de Spark, il peut être nécessaire d’utiliser RDD.If you are diving into more advanced components of Spark, it may be necessary to use RDDs.
  • Les visualisations dans la référence de l' interface utilisateur Spark RDD.The visualizations within the Spark UI reference RDDs.

Lorsque vous développez des applications Spark, vous utilisez généralement le didacticiel trames didacticiel et jeux de données.When you develop Spark applications, you typically use DataFrames tutorial and Datasets tutorial.

Écrire votre première application Apache Spark Write your first Apache Spark application

Pour écrire votre première application Apache Spark, vous ajoutez du code aux cellules d’un bloc-notes Azure Databricks.To write your first Apache Spark application, you add code to the cells of an Azure Databricks notebook. Cet exemple utilise Python.This example uses Python. Pour plus d’informations, vous pouvez également référencer le Guide de démarrage rapide Apache Spark.For more information, you can also reference the Apache Spark Quick Start Guide.

Cette première commande répertorie le contenu d’un dossier dans le système de fichiers Databricks:This first command lists the contents of a folder in the Databricks File System:

# Take a look at the file system
display(dbutils.fs.ls("/databricks-datasets/samples/docs/"))

Contenu du dossierFolder contents

La commande suivante utilise spark , le SparkSession disponible dans chaque bloc-notes, pour lire le README.md fichier texte et créer un tableau nommé textFile :The next command uses spark, the SparkSession available in every notebook, to read the README.md text file and create a DataFrame named textFile:

textFile = spark.read.text("/databricks-datasets/samples/docs/README.md")

Pour compter les lignes du fichier texte, appliquez l' count action à tableau :To count the lines of the text file, apply the count action to the DataFrame:

textFile.count()

Nombre de lignes du fichier texteText file line count

Vous remarquerez peut-être que la deuxième commande, qui lit le fichier texte, ne génère pas de sortie alors que la troisième commande, qui exécute le count , le fait.One thing you may notice is that the second command, reading the text file, does not generate any output while the third command, performing the count, does. Cela est dû au fait que la première commande est une transformation alors que la seconde est une action.The reason for this is that the first command is a transformation while the second one is an action. Les transformations sont différées et exécutées uniquement lorsqu’une action est exécutée.Transformations are lazy and run only when an action is run. Spark peut ainsi optimiser les performances (par exemple, exécuter un filtre avant une jointure) au lieu d’exécuter des commandes en série.This allows Spark to optimize for performance (for example, run a filter prior to a join), instead of running commands serially. Pour obtenir la liste complète des transformations et des actions, reportez-vous au Guide de programmation Apache Spark : transformations et actions.For a complete list of transformations and actions, refer to the Apache Spark Programming Guide: Transformations and Actions.

Jeux de données Azure Databricks Azure Databricks datasets

Azure Databricks comprend un large éventail de jeux de données dans l’espace de travail que vous pouvez utiliser pour apprendre des algorithmes Spark ou test out.Azure Databricks includes a variety of datasets within the workspace that you can use to learn Spark or test out algorithms. Vous les verrez dans le Guide de prise en main.You’ll see these throughout the getting started guide. Les jeux de données sont disponibles dans le /databricks-datasets dossier.The datasets are available in the /databricks-datasets folder.

Blocs-notes Notebooks

Pour accéder à ces exemples de code et bien plus encore, importez l’un des blocs-notes suivants.To access these code examples and more, import the one of the following notebooks.

Apache Spark Démarrage rapide Notebook pythonApache Spark Quick Start Python notebook

Obtenir le notebookGet notebook

Bloc-notes Apache Spark Démarrage rapide ScalaApache Spark Quick Start Scala notebook

Obtenir le notebookGet notebook