Explorer les données sources d’un pipeline de données
Une première étape courante de la création d’un pipeline de données est de comprendre les données sources du pipeline. Dans cette étape, vous exécuterez les commandes Databricks Utilities et PySpark dans un notebook pour examiner les données et les artefacts sources.
Pour en savoir plus sur l’analyse exploratoire des données, consultez Analyse exploratoire des données sur Azure Databricks : outils et techniques.
Vidéo : présentation des notebooks Databricks
Pour une présentation des notebooks Databricks, regardez cette vidéo :
Créer un notebook d’exploration de données
Dans la barre latérale, cliquez sur Nouveau, puis sélectionnez Notebook dans le menu. Le notebook qui s’ouvre possède un nom par défaut que vous pouvez remplacer.
Entrez un nom pour le notebook, par exemple,
Explore songs data
. Par défaut :- Python est le langage sélectionné.
- Le notebook est attaché au dernier cluster que vous avez utilisé. Dans ce cas, le cluster que vous avez créé à l’étape 1 : Créer un cluster.
Pour afficher le contenu du répertoire contenant le jeu de données, entrez ce qui suit dans la première cellule du notebook, cliquez sur , puis sélectionnez Run Cell (Exécuter la cellule).
%fs ls "/databricks-datasets/songs"
path name taille modificationTime dbfs:/databricks-datasets/songs/README.md README.md 1719 1454620183000 dbfs:/databricks-datasets/songs/data-001/ data-001/ 0 1672791237846 dbfs:/databricks-datasets/songs/data-002/ data-002/ 0 1672791237846
Exploration des données
Le fichier README contient des informations sur le jeu de données, notamment une description du schéma de données. Les informations de schéma sont utilisées à l’étape suivante pendant l’ingestion des données. Pour afficher le contenu du fichier README, cliquez sur dans le menu d’actions de cellule, sélectionnez Add Cell Below (Ajouter une cellule en dessous), entrez ce qui suit dans la nouvelle cellule, cliquez sur , puis sélectionnez Run Cell (Exécuter la cellule).
%fs head --maxBytes=10000 "/databricks-datasets/songs/README.md"
Sample of Million Song Dataset =============================== ## Source This data is a small subset of the [Million Song Dataset](http://labrosa.ee.columbia.edu/millionsong/). The original data was contributed by The Echo Nest. Prepared by T. Bertin-Mahieux <tb2332 '@' columbia.edu> ## Attribute Information - artist_id:string - artist_latitude:double - artist_longitude:double - artist_location:string - artist_name:string - duration:double - end_of_fade_in:double - key:int - key_confidence:double - loudness:double - release:string - song_hotnes:double - song_id:string - start_of_fade_out:double - tempo:double - time_signature:double - time_signature_confidence:double - title:string - year:double - partial_sequence:int ...
Les enregistrements utilisés dans cet exemple se trouvent dans le répertoire
/databricks-datasets/songs/data-001/
. Pour afficher le contenu de ce répertoire, cliquez sur dans le menu d’actions de cellule, sélectionnez Add Cell Below (Ajouter une cellule en dessous), entrez ce qui suit dans la nouvelle cellule, cliquez sur , puis sélectionnez Run Cell (Exécuter la cellule).%fs ls "/databricks-datasets/songs/data-001"
path name taille modificationTime dbfs:/databricks-datasets/songs/data-001/header.txt header.txt 377 1454633901000 dbfs:/databricks-datasets/songs/data-001/part-00000 part-00000 52837 1454547464000 dbfs:/databricks-datasets/songs/data-001/part-00001 part-00001 52469 1454547465000 Le fichier LISEZ-MOI et les noms de fichiers n’indiquant pas le format de fichier, vous pouvez afficher un échantillon des enregistrements pour mieux comprendre le contenu et le format de chaque enregistrement. Pour lire et afficher les dix premiers enregistrements, cliquez sur dans le menu d’actions de cellule, sélectionnez Ajouter une cellule en dessous, entrez ce qui suit dans la nouvelle cellule, cliquez sur , puis sélectionnez Exécuter la cellule.
%fs head --maxBytes=10000 "/databricks-datasets/songs/data-001/part-00000"
AR81V6H1187FB48872 nan nan Earl Sixteen 213.7073 0.0 11 0.419 -12.106 Soldier of Jah Army nan SOVNZSZ12AB018A9B8 208.289 125.882 1 0.0 Rastaman 2003 -- ARVVZQP11E2835DBCB nan nan Wavves 133.25016 0.0 0 0.282 0.596 Wavvves 0.471578247701 SOJTQHQ12A8C143C5F 128.116 89.519 1 0.0 I Want To See You (And Go To The Movies) 2009 -- ARFG9M11187FB3BBCB nan nan Nashua USA C-Side 247.32689 0.0 9 0.612 -4.896 Santa Festival Compilation 2008 vol.1 nan SOAJSQL12AB0180501 242.196 171.278 5 1.0 Loose on the Dancefloor 0 225261 ...
Vous pouvez obtenir quelques informations sur les données à partir de l’affichage d’un échantillon des enregistrements. Vous utilisez ces observations par la suite pendant le traitement des données :
- Les enregistrements ne contiennent pas d’en-tête. À la place, l’en-tête est stocké dans un fichier distinct dans le même répertoire.
- Les fichiers semblent être au format TSV (Tab-Separated Value).
- Certains champs sont manquants ou non valides.
- Les enregistrements ne contiennent pas d’en-tête. À la place, l’en-tête est stocké dans un fichier distinct dans le même répertoire.
Pour approfondir l’exploration et l’analyse des données, utilisez ces observations pour charger les données de chanson au format TSV dans un DataFrame PySpark. Pour ce faire, cliquez sur dans le menu d’actions de cellule, sélectionnez Ajouter une cellule en dessous, entrez le code qui suit dans la nouvelle cellule, cliquez sur >Exécuter la cellule.
df = spark.read.format('csv').option("sep", "\t").load('dbfs:/databricks-datasets/songs/data-001/part-00000') df.display()
Étant donné qu’il manque un en-tête au fichier de données, les noms de colonnes s’affichent sous la forme
_c0
,_c1
, et ainsi de suite. Chaque colonne est interprétée comme unstring
, quel que soit le type de données réel. L’ingestion des données brutes à l’étape suivante montre un exemple de la façon dont vous pouvez imposer un schéma valide lorsque vous chargez les données.