Comment démarrer avec Databricks

Quand j'ai commencé à apprendre Spark avec Pyspark, je suis tombé sur la plate-forme Databricks et je l'ai explorée. Cette plate-forme a facilité la configuration d'un environnement pour exécuter des dataframes Spark et pratiquer le codage. Cet article contient quelques étapes qui peuvent vous aider à démarrer avec Databricks.

Databricks est une plate-forme qui s'exécute sur Apache Spark. Il dispose d'une configuration de systèmes Notebook. On peut facilement provisionner des clusters dans le cloud et il intègre également un espace de travail intégré pour l'exploration et la visualisation.

Vous pouvez également planifier n'importe quel notebook existant ou code Spark développé localement pour passer du prototype à la production sans réingénierie.

1. Configurer un compte Databricks

Pour commencer avec le didacticiel, accédez à ce lien et sélectionnez l'édition Community gratuite pour ouvrir votre compte. Cette option a un seul cluster avec jusqu'à 6 Go de stockage gratuit. Il vous permet de créer un bloc-notes de base. Vous aurez besoin d'une adresse e-mail valide pour vérifier votre compte.

Vous verrez cet écran une fois que vous vous serez connecté avec succès à votre compte.

2. Création d'un nouveau cluster

Nous commençons par créer un nouveau cluster sur lequel exécuter nos programmes. Cliquez sur «Cluster» sur la page principale et saisissez un nouveau nom pour le cluster.

Ensuite, vous devez sélectionner la version «Databricks Runtime». Databricks Runtime est un ensemble de composants de base qui s'exécutent sur des clusters gérés par Databricks. Il inclut Apache Spark, mais ajoute également un certain nombre de composants et de mises à jour pour améliorer la convivialité et les performances de l'outil.

Vous pouvez sélectionner n'importe quelle version de Databricks Runtime - J'ai sélectionné 3.5 LTS (inclut Apache Spark 2.2.1, Scala 2.11). Vous avez également le choix entre Python 2 et 3.

La création du cluster prendra quelques minutes. Après un certain temps, vous devriez pouvoir voir un cluster actif sur le tableau de bord.

3. Création d'un nouveau bloc-notes

Allons-y et créons un nouveau bloc-notes sur lequel vous pouvez exécuter votre programme.

Depuis la page principale, cliquez sur "Nouveau bloc-notes" et saisissez un nom pour le bloc-notes. Sélectionnez la langue de votre choix - j'ai choisi Python ici. Vous pouvez voir que Databricks prend en charge plusieurs langues, notamment Scala, R et SQL.

Une fois les détails saisis, vous constaterez que la disposition du notebook est très similaire à celle du notebook Jupyter. Pour tester le notebook, importons pyspark.

La commande s'est exécutée en 0,15 seconde et donne également le nom du cluster sur lequel elle s'exécute. S'il y a des erreurs dans le code, il apparaîtra sous la zone cmd.

Vous pouvez appuyer sur l'icône du clavier dans le coin supérieur droit de la page pour voir les raccourcis spécifiques au système d'exploitation.

Les raccourcis les plus importants ici sont:

  • Maj + Entrée pour exécuter une cellule
  • Ctrl + Entrée continue d'exécuter la même cellule sans passer à la cellule suivante

Notez que ces raccourcis sont pour Windows. Vous pouvez vérifier les raccourcis spécifiques au système d'exploitation pour votre système d'exploitation sur l'icône du clavier.

4. Téléchargement de données vers Databricks

Rendez-vous dans la section "Tableaux" dans la barre de gauche et cliquez sur "Créer un tableau". Vous pouvez télécharger un fichier ou vous connecter à une source de données Spark ou à une autre base de données.

Importons ici le fichier du jeu de données iris couramment utilisé (si vous ne disposez pas du jeu de données, utilisez ce lien)

Une fois que vous avez téléchargé les données, créez la table avec une interface utilisateur afin de pouvoir visualiser la table et la prévisualiser sur votre cluster. Comme vous pouvez le voir, vous pouvez observer les attributs de la table. Spark essaiera de détecter le type de données de chacune des colonnes et vous permettra également de le modifier.

Maintenant, je dois mettre des en-têtes pour les colonnes, afin que je puisse identifier chaque colonne par leur en-tête au lieu de _c0, _c1et ainsi de suite.

J'ai mis leurs en-têtes comme Sepal Length, Sepal Width, Petal Length, Petal Width and Class. Ici, Spark a détecté de manière incorrecte le type de données des quatre premières colonnes en tant que chaîne, je l'ai donc changé pour le type de données souhaité - Float.

5. Comment accéder aux données de Notebook

Spark est un framework qui peut être utilisé pour analyser le Big Data à l'aide de SQL, de l'apprentissage automatique, du traitement de graphes ou de l'analyse de streaming en temps réel. Nous travaillerons avec SparkSQL et Dataframes dans ce tutoriel.

Commençons par travailler avec les données du notebook. Les données que nous avons téléchargées sont maintenant mises au format tabulaire, nous avons besoin d'une requête SQL pour lire les données et les placer dans un dataframe.

Type df = sqlContext.sql(“SELECT * FROM iris_data”)pour lire les données d'iris dans une trame de données.

Pour afficher les cinq premières lignes du dataframe, je peux simplement exécuter la commande:

display(df.limit(5))

Remarquez une icône de graphique à barres en bas. Une fois que vous avez cliqué, vous pouvez afficher les données que vous avez importées dans Databricks. Pour afficher le graphique à barres des données complètes, exécutez à la display(df)place de display(df.limit(5)).

Le bouton déroulant vous permet de visualiser les données dans différents graphiques tels que barre, camembert, dispersion, etc. Il vous donne également des options de tracé pour personnaliser le tracé et visualiser uniquement des colonnes spécifiques.

Vous pouvez également afficher les figures matplotlib et ggplot dans Databricks. Pour une démonstration, consultez Matplotlib et ggplot dans Python Notebooks.

Pour afficher toutes les colonnes des données, tapez simplement df.columns

Pour compter le nombre total de lignes dans le Dataframe (et voir combien de temps il faut pour une analyse complète à partir du disque distant / S3), exécutez df.count().

6. Conversion d'un dataframe Spark en dataframe Pandas.

Maintenant, si vous êtes à l'aise avec les dataframes pandas et que vous souhaitez convertir votre dataframe Spark en pandas, vous pouvez le faire en mettant la commande

import pandas as pdpandas_df=df.to_pandas()

Vous pouvez maintenant utiliser les opérations pandas sur le pandas_dfdataframe.

7. Affichage de l'interface utilisateur Spark

L'interface utilisateur Spark contient une mine d'informations nécessaires au débogage des tâches Spark. Il existe un tas de superbes visualisations, alors voyons-les dans un résumé.

Pour accéder à Spark UI, vous devez aller en haut de la page où se trouvent des options de menu telles que «Fichier», «Affichage», «Code», «Autorisations», etc. Vous trouverez le nom du cluster en haut à côté de «Attaché» et un bouton déroulant à côté. Appuyez sur le bouton déroulant et sélectionnez "Afficher l'interface utilisateur Spark". Un nouvel onglet s'ouvrira avec les nombreuses informations sur votre ordinateur portable.

La vue de l'interface utilisateur fournit de nombreuses informations sur chaque travail exécuté sur le cluster, les étapes, l'environnement et les requêtes SQL exécutées. Cette interface utilisateur peut être utile aux utilisateurs pour déboguer leurs applications. En outre, cette interface utilisateur donne une bonne visualisation des statistiques de streaming Spark. Pour en savoir plus sur chaque aspect de l'interface utilisateur Spark, reportez-vous à ce lien.

Une fois que vous avez terminé avec le bloc-notes, vous pouvez continuer et le publier ou exporter le fichier dans différents formats de fichier, de sorte que quelqu'un d'autre puisse l'utiliser en utilisant un lien unique. J'ai joint mon carnet au format HTML.

Emballer

Voici un bref aperçu de la façon dont vous pouvez démarrer rapidement avec Databricks et exécuter vos programmes. L'avantage d'utiliser Databricks est qu'il offre un service de bout en bout pour créer des applications d'analyse, d'entreposage de données et d'apprentissage automatique. L'ensemble du cluster Spark peut être géré, surveillé et sécurisé à l'aide d'un modèle en libre-service de Databricks.

Voici quelques liens intéressants pour les Data Scientists et pour les Data Engineers. Aussi, voici un tutoriel que j'ai trouvé très utile et idéal pour les débutants.