Partager via


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

  1. Dans la barre latérale, cliquez sur Icône New (Nouveau) Nouveau, puis sélectionnez Notebook dans le menu. Le notebook qui s’ouvre possède un nom par défaut que vous pouvez remplacer.

  2. 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.
  3. 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 Menu Run (Exécuter), 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

  1. 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 Caret vers le bas 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 Menu Run (Exécuter), 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
    ...
    
  2. 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 Caret vers le bas 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 Menu (Run) Exécuter, 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
  3. 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 Caret vers le bas dans le menu d’actions de cellule, sélectionnez Ajouter une cellule en dessous, entrez ce qui suit dans la nouvelle cellule, cliquez sur Menu Exécuter, 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.
  4. 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 Caret vers le bas 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 Menu Exécuter>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 un string, 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.

    DataFrame créé à partir de données de chanson brutes