Partage via


Tutoriel : Importer et visualiser des données CSV à partir d’un notebook

Ce tutoriel vous guide tout au long de l’utilisation d’un notebook Azure Databricks pour importer des données à partir d’un fichier CSV contenant des données de nom de bébé de health.data.ny.gov dans votre volume catalogue Unity à l’aide de Python, Scala et R. Vous apprenez également à modifier un nom de colonne, à visualiser les données et à enregistrer dans une table.

Note

Si vous utilisez Databricks Free Edition, sélectionnez l’onglet Python pour tous les exemples de code de ce tutoriel. Free Edition ne prend pas en charge R ou Scala. En outre, Free Edition restreint l’accès Internet sortant. Vous devez donc charger le fichier CSV à l’aide de l’interface utilisateur de l’espace de travail au lieu de le télécharger avec du code. Consultez l’étape 3 pour obtenir des instructions détaillées.

Spécifications

Pour effectuer les tâches décrites dans cet article, vous devez répondre aux exigences suivantes :

  • Votre espace de travail doit avoir le catalogue Unity activé. Pour plus d’informations sur la prise en main du catalogue Unity, consultez Prise en main du catalogue Unity. Azure Databricks Free Edition et les espaces de travail d’essai gratuit ont le catalogue Unity activé par défaut.
  • L’utilisateur doit disposer du privilège WRITE VOLUME sur un volume, du privilège USE SCHEMA sur le schéma parent, et du privilège USE CATALOG sur le catalogue parent. Les utilisateurs free Edition disposent de ces privilèges sur le catalogue et default le schéma de l’espace de travail par défaut.
  • Vous devez avoir l’autorisation d’utiliser une ressource de calcul existante ou d’en créer une. Consultez Calcul ou consultez votre administrateur Azure Databricks.

Conseil

Pour obtenir un bloc-notes terminé pour cet article, consultez Importer et visualiser des blocs-notes de données.

Étape 1 : créer un notebook

Pour créer un bloc-notes dans votre espace de travail, cliquez sur Nouvelle icônedans la barre latérale, puis sur Bloc-notes. Un notebook vide s’ouvre dans l’espace de travail.

Pour en savoir plus sur la création et la gestion de blocs-notes, consultez Gérer les blocs-notes.

Étape 2 : Définir des variables

Dans cette étape, vous définissez des variables à utiliser dans l’exemple de notebook que vous créez dans cet article. Vous avez besoin des noms d’un catalogue Unity Catalog, d’un schéma et d’un volume.

Conseil

Si vous ne connaissez pas vos noms de catalogue et de schéma, cliquez sur l’icône Données.Catalogue dans la barre latérale. Le catalogue d’espaces de travail partage un nom avec votre espace de travail et est répertorié dans le panneau catalogue. Développez-le pour afficher les schémas disponibles. Les utilisateurs de l'Édition Gratuite et de la période d'essai gratuit peuvent utiliser le catalogue de l'espace de travail et le schéma default.

Si vous n’avez pas de volume, créez-en un en exécutant la commande suivante dans une cellule de notebook (remplacez <catalog_name> et <schema_name> par vos valeurs) :

CREATE VOLUME IF NOT EXISTS <catalog_name>.<schema_name>.my_volume
  1. Copiez et collez le code suivant dans la nouvelle cellule de notebook vide. Remplacez <catalog-name>, <schema-name> et <volume-name> par les noms de catalogue, de schéma et de volume d’un volume Unity Catalog. Remplacez éventuellement la valeur table_name par le nom de table de votre choix. Vous enregistrez les données de nom de bébé dans ce tableau plus loin dans cet article.

  2. Appuyez sur Shift+Enter pour exécuter la cellule et créer une nouvelle cellule vide.

    Python

    catalog = "<catalog_name>"
    schema = "<schema_name>"
    volume = "<volume_name>"
    download_url = "https://health.data.ny.gov/api/views/jxy9-yhdk/rows.csv"
    file_name = "baby_names.csv"
    table_name = "baby_names"
    path_volume = "/Volumes/" + catalog + "/" + schema + "/" + volume
    path_table = catalog + "." + schema
    print(path_table) # Show the complete path
    print(path_volume) # Show the complete path
    

    Langage de programmation Scala

    val catalog = "<catalog_name>"
    val schema = "<schema_name>"
    val volume = "<volume_name>"
    val downloadUrl = "https://health.data.ny.gov/api/views/jxy9-yhdk/rows.csv"
    val fileName = "baby_names.csv"
    val tableName = "baby_names"
    val pathVolume = s"/Volumes/${catalog}/${schema}/${volume}"
    val pathTable = s"${catalog}.${schema}"
    print(pathVolume) // Show the complete path
    print(pathTable) // Show the complete path
    

    R

    catalog <- "<catalog_name>"
    schema <- "<schema_name>"
    volume <- "<volume_name>"
    download_url <- "https://health.data.ny.gov/api/views/jxy9-yhdk/rows.csv"
    file_name <- "baby_names.csv"
    table_name <- "baby_names"
    path_volume <- paste("/Volumes/", catalog, "/", schema, "/", volume, sep = "")
    path_table <- paste(catalog, ".", schema, sep = "")
    print(path_volume) # Show the complete path
    print(path_table) # Show the complete path
    

Étape 3 : Importer le fichier CSV

Dans cette étape, vous importez un fichier CSV contenant des données de nom de bébé à partir de health.data.ny.gov dans votre volume de catalogue Unity. Choisissez une des méthodes suivantes :

  • Charger à l’aide de l’interface utilisateur de l’espace de travail : utilisez cette méthode si vous utilisez Databricks Free Edition ou si le téléchargement du code dans l’option B échoue avec une erreur réseau. Free Edition et d’autres environnements de calcul serverless limitent l’accès Internet sortant. Vous devez donc charger le fichier à partir de votre ordinateur local.
  • Télécharger à l’aide du code : utilisez cette méthode si votre environnement de calcul dispose d’un accès Internet sortant.

Option A : Charger à l’aide de l’interface utilisateur de l’espace de travail

  1. Sur votre ordinateur local, ouvrez health.data.ny.gov/api/views/jxy9-yhdk/rows.csv dans votre navigateur. Le fichier est téléchargé sur votre ordinateur en tant que rows.csv.
  2. Recherchez le fichier téléchargé sur votre ordinateur et renommez-le à rows.csv.baby_names.csv Cela correspond à la variable que vous avez définie à l’étape file_name 2.
  3. Revenez à votre espace de travail Azure Databricks. Dans la barre latérale, cliquez sur Nouvelle icôneAjouter > ou charger des données.
  4. Cliquez sur Téléverser des fichiers dans un volume.
  5. Cliquez sur Parcourir et sélectionnez le fichier baby_names.csv, ou faites-le glisser dans la zone de dépôt.
  6. Sous Volume de destination, sélectionnez le volume que vous avez spécifié à l’étape 2.
  7. Une fois le chargement terminé, revenez à votre bloc-notes et passez à l’étape 4.

Pour plus d’informations sur le chargement de fichiers, consultez Charger des fichiers dans un volume de catalogue Unity.

Option B : Télécharger à l’aide du code

  1. Copiez et collez le code suivant dans la nouvelle cellule de notebook vide. Ce code copie le fichier rows.csv depuis health.data.ny.gov dans votre volume Unity Catalog à l’aide de la commande Databricks dbutils.

  2. Appuyez sur Shift+Enter pour exécuter la cellule et passer à la cellule suivante.

    Python

    dbutils.fs.cp(f"{download_url}", f"{path_volume}" + "/" + f"{file_name}")
    

    Langage de programmation Scala

    dbutils.fs.cp(downloadUrl, s"${pathVolume}/${fileName}")
    

    R

    dbutils.fs.cp(download_url, paste(path_volume, "/", file_name, sep = ""))
    

Étape 4 : Charger les données CSV dans un DataFrame

Dans cette étape, vous créez un DataFrame nommé df à partir du fichier CSV que vous avez précédemment chargé dans votre volume de catalogue Unity à l’aide de la méthode spark.read.csv .

  1. Copiez et collez le code suivant dans la nouvelle cellule de notebook vide. Ce code charge les données des noms de nouveaux-nés dans le DataFrame df à partir du fichier CSV.

  2. Appuyez sur Shift+Enter pour exécuter la cellule et passer à la cellule suivante.

    Python

    df = spark.read.csv(f"{path_volume}/{file_name}",
      header=True,
      inferSchema=True,
      sep=",")
    

    Langage de programmation Scala

    val df = spark.read
        .option("header", "true")
        .option("inferSchema", "true")
        .option("delimiter", ",")
        .csv(s"${pathVolume}/${fileName}")
    

    R

    # Load the SparkR package that is already preinstalled on the cluster.
    library(SparkR)
    
    df <- read.df(paste(path_volume, "/", file_name, sep=""),
      source="csv",
      header = TRUE,
      inferSchema = TRUE,
      delimiter = ",")
    

Vous pouvez charger des données à partir de nombreux formats de fichiers pris en charge.

Étape 5 : visualiser des données depuis un notebook

Dans cette étape, vous utilisez la méthode display() pour afficher le contenu du DataFrame dans un tableau du notebook, puis vous visualisez les données dans un graphique de nuage de mots dans le notebook.

  1. Copiez et collez le code suivant dans la nouvelle cellule de bloc-notes vide, puis cliquez sur Exécuter la cellule pour afficher les données d’un tableau.

    Python

    display(df)
    

    Langage de programmation Scala

    display(df)
    

    R

    display(df)
    
  2. Passez en revue les résultats dans le tableau.

  3. En regard de l’onglet Tableau , cliquez + , puis cliquez sur Visualisation.

  4. Dans l’éditeur de visualisation, cliquez sur Type de visualisation et vérifiez que le cloud Word est sélectionné.

  5. Dans la colonne Mots, assurez-vous que First Name est sélectionné.

  6. Dans la limite des fréquences, cliquez sur 35.

    graphique en nuage de mots

  7. Cliquez sur Enregistrer.

Étape 6 : enregistrer le DataFrame dans une table

Importante

Pour enregistrer votre DataFrame dans Unity Catalog, vous devez avoir des privilèges de table CREATE sur le catalogue et le schéma. Pour plus d’informations sur les autorisations dans le catalogue Unity, consultez Privilèges et objets sécurisables dans le catalogue Unity et Gérer les privilèges dans le catalogue Unity.

  1. Copiez et collez le code suivant dans une cellule de notebook vide. Ce code remplace un espace dans le nom d’une colonne. Les caractères spéciaux, tels que les espaces, ne sont pas autorisés dans les noms de colonnes. Ce code utilise la méthode Apache Spark withColumnRenamed().

    Python

    df = df.withColumnRenamed("First Name", "First_Name")
    df.printSchema
    

    Langage de programmation Scala

    val dfRenamedColumn = df.withColumnRenamed("First Name", "First_Name")
    // when modifying a DataFrame in Scala, you must assign it to a new variable
    dfRenamedColumn.printSchema()
    

    R

    df <- withColumnRenamed(df, "First Name", "First_Name")
    printSchema(df)
    
  2. Copiez et collez le code suivant dans une cellule de notebook vide. Ce code enregistre le contenu du DataFrame dans une table d’Unity Catalog en utilisant la variable de nom de table définie au début de cet article.

    Python

    df.write.mode("overwrite").saveAsTable(f"{path_table}" + "." + f"{table_name}")
    

    Langage de programmation Scala

    dfRenamedColumn.write.mode("overwrite").saveAsTable(s"${pathTable}.${tableName}")
    

    R

    saveAsTable(df, paste(path_table, ".", table_name), mode = "overwrite")
    
  3. Pour vérifier que la table a été enregistrée, cliquez sur Catalogue dans la barre latérale gauche pour ouvrir l’interface utilisateur de l’Explorateur de catalogues. Ouvrez votre catalogue puis votre schéma pour vérifier que la table apparaît.

  4. Cliquez sur votre tableau pour afficher le schéma de la table sous l’onglet Vue d’ensemble .

  5. Cliquez sur Exemples de données pour afficher 100 lignes de données à partir de la table.

Importer et visualiser des carnets de données

Utilisez l’un des notebooks suivants pour effectuer les étapes contenues dans cet article. Remplacez <catalog-name>, <schema-name> et <volume-name> par les noms de catalogue, de schéma et de volume d’un volume Unity Catalog. Remplacez éventuellement la valeur table_name par le nom de table de votre choix.

Python

Importer des données de CSV en utilisant Python

Obtenir le notebook

Langage de programmation Scala

Importer des données de CSV en utilisant Scala

Obtenir le notebook

R

Importer des données de CSV en utilisant R

Obtenir le notebook

Étapes suivantes

Ressources supplémentaires