EMR Serverless Spark prend en charge le développement interactif via des notebooks. Créez, exécutez et gérez des notebooks pour traiter et visualiser vos données.
Prérequis
Vous disposez d’un compte Alibaba Cloud. Pour plus d’informations, consultez la page Inscription à un compte Alibaba Cloud.
Les autorisations de rôle requises sont configurées. Pour en savoir plus, consultez la rubrique Autorisation de rôle pour un compte Alibaba Cloud.
Un espace de travail et une instance de session de notebook sont créés. Pour plus de détails, reportez-vous aux rubriques Création d’un espace de travail et Gestion des sessions de notebook.
Procédure
Étape 1 : Préparer un fichier de test
Les étapes suivantes utilisent un fichier de données exemple que vous pouvez télécharger.
Cliquez sur employee.csv pour télécharger le fichier de test.
Le fichier employee.csv répertorie les employés avec leurs noms, départements et salaires.
Étape 2 : Télécharger le fichier de test
Téléchargez le fichier employee.csv dans la console Object Storage Service (OSS). Pour plus d’informations, consultez la rubrique Téléchargement de fichiers.
Étape 3 : Développer et exécuter un notebook
Sur la page EMR Serverless Spark, cliquez sur Development dans le volet de navigation de gauche.
-
Créez un notebook.
Sous l’onglet Development, cliquez sur l’icône
.Dans la boîte de dialogue qui s’affiche, saisissez un nom, sélectionnez le type interactive development > Notebook, puis cliquez sur OK.
-
Dans l’angle supérieur droit, sélectionnez une instance de session de notebook en cours d’exécution.
Vous pouvez également sélectionner Create Notebook Session dans la liste déroulante pour créer une instance de session de notebook. Pour en savoir plus sur les sessions de notebook, consultez la rubrique Gestion des sessions de notebook.
RemarquePlusieurs notebooks peuvent partager une même instance de session et ses ressources, ce qui évite de créer une instance distincte pour chaque notebook.
-
Traitez et visualisez les données.
PySpark
-
Copiez le code suivant dans une cellule Python du nouveau notebook.
# Create a simple DataFrame. Replace the OSS path with the path of the file that you uploaded in Step 2. df = spark.read.option("delimiter", ",").option("header", True).csv("oss://path/to/file") # Display the first few rows of the DataFrame. df.show(5) # Perform a simple aggregation operation: calculate the total salary for each department. sum_salary_per_department = df.groupBy("department").agg({"salary": "sum"}).show() -
Cliquez sur Execute All Cells pour exécuter le notebook.
Vous pouvez également exécuter une seule cellule en cliquant sur l’icône
située à côté de la cellule.# Create a simple DataFrame. Replace the OSS path with the path of the file that you uploaded in Step 2. df = spark.read.option("delimiter", ",").option("header", True).csv("oss://<yourBucketName>/<path>/employee.csv") # Display the first few rows of the DataFrame. df.show(5) +-------------+----------+------+ |employee_name|department|salary| +-------------+----------+------+ | James| Sales| 3000| | Michael| Sales| 4600| | Robert| Marketing| 4100| | Maria| Finance| 3000| | James| Sales| 3000| +-------------+----------+------+ only showing top 5 rows # Perform a simple aggregation operation: calculate the total salary for each department. sum_salary_per_department = df.groupBy("department").agg({"salary": "sum"}).show() +----------+-----------+ |department|sum(salary)| +----------+-----------+ | Sales| 12600.0| | Finance| 6900.0| | Marketing| 10400.0| +----------+-----------+ -
(Facultatif) Consultez l’interface utilisateur Spark (Spark UI).
Dans la liste déroulante des sessions, survolez l’icône
correspondant à l’instance de session de notebook actuelle, puis cliquez sur Spark UI pour afficher les informations relatives à vos jobs Spark.
Visualisation
RemarqueLes bibliothèques matplotlib, numpy et pandas sont préinstallées dans les sessions de notebook. Si vous devez utiliser une autre bibliothèque tierce, consultez la rubrique Utilisation de bibliothèques Python tierces dans un notebook.
-
Utilisez la bibliothèque matplotlib pour la visualisation des données.
import matplotlib.pyplot as plt l = sc.parallelize(range(20)).collect() plt.plot(l) plt.ylabel('some numbers') plt.show() -
Cliquez sur Execute All Cells pour exécuter le notebook.
Vous pouvez également exécuter une seule cellule en cliquant sur l’icône
située à côté de la cellule.pip install matplotlibSortie de l’installation :
Looking in indexes: http://mirrors.cloud.aliyuncs.com/pypi/simple Collecting matplotlibimport matplotlib.pyplot as plt l = sc.parallelize(range(20)).collect() plt.plot(l) plt.ylabel('some numbers') plt.show()Une fois le code exécuté, un graphique linéaire s’affiche, avec l’axe Y libellé « some numbers ».
-
Étape 4 : Publier le notebook
Une fois l’exécution terminée, cliquez sur Publish dans l’angle supérieur droit.
Dans la boîte de dialogue Publish, saisissez les informations requises, puis cliquez sur OK pour enregistrer le notebook en tant que nouvelle version.