Aller au contenu principal

Tutoriel : Importer et visualiser des données CSV à partir d'un Notebook

Ce tutoriel vous guide dans l'utilisation d'un Notebook Databricks pour importer des données à partir d'un fichier CSV contenant des données de prénoms de bébés de health.data.ny.gov dans votre volume Unity Catalog en utilisant Python, Scala et R. Vous apprenez également à modifier un nom de colonne, à visualiser les données et à enregistrer dans une table.

remarque

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. De plus, Free Edition restreint l’accès Internet sortant, vous devez donc upload le fichier CSV via l’interface utilisateur du Workspace au lieu de le download avec du code. Voir l'étape 3 pour des instructions détaillées.

Exigences

Pour effectuer les tâches de cet article, vous devez satisfaire aux exigences suivantes :

  • Votre workspace doit avoir Unity Catalog activé. Pour toute information sur la prise en main de Unity Catalog, consultez Se familiariser avec Unity Catalog. Les Workspaces Databricks Free Edition et d’Essai gratuit ont Unity Catalog activé par default.
  • Vous devez 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 de l'édition Free disposent de ces privilèges sur le catalogue Workspace et le schéma default par default.
  • Vous devez avoir la permission d'utiliser une ressource de compute existante ou de créer une nouvelle ressource de compute. Voir Compute ou contactez votre administrateur Databricks.
astuce

Pour un notebook complet pour cet article, veuillez consulter Importer et visualiser des notebooks de données.

Étape 1 : Créer un nouveau Notebook

Pour créer un Notebook dans votre Workspace, cliquez sur Nouvelle icône Nouveau dans la barre latérale, puis cliquez sur Notebook . Un notebook vierge s'ouvre dans le Workspace.

Pour en savoir plus sur la création et la gestion des Notebooks, veuillez consulter Gérer les Notebooks Databricks.

Étape 2 : Définir les variables

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

astuce

Si vous ne connaissez pas les noms de votre catalogue et de votre schéma, cliquez sur Icône de données. Catalogue dans le panneau latéral. Le catalogue de Workspace partage un nom avec votre Workspace et est listé dans le panneau latéral. Développez-le pour voir les schémas disponibles. Les utilisateurs de Free Edition et d'essai gratuit peuvent utiliser le catalogue Workspace 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) :

SQL
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 pour un volume Unity Catalog. Vous pouvez éventuellement remplacer la valeur table_name par le nom de table de votre choix. Vous enregistrerez les données de prénoms de bébé dans ce tableau plus tard 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

Étape 3 : Importer un fichier CSV

Dans cette étape, vous importez un fichier CSV contenant des données de noms de bébé depuis health.data.ny.gov dans votre volume Unity Catalog. Choisissez l'une des méthodes suivantes :

  • Upload using the Workspace UI — Utilisez cette méthode si vous utilisez Databricks Free Edition, ou si le download de code dans l'option B échoue avec une erreur réseau. Free Edition et les autres environnements de compute Serverless restreignent l'accès Internet sortant, vous devez donc upload le fichier depuis votre machine locale.
  • download using code — Utilisez cette méthode si votre environnement de compute a un accès Internet sortant.

Option A : Upload via l'interface utilisateur du Workspace

  1. Sur votre machine locale, ouvrez health.data.ny.gov/api/views/jxy9-yhdk/rows.csv dans votre navigateur. Le fichier se télécharge sur votre ordinateur en tant que rows.csv.
  2. Recherchez le fichier download sur votre ordinateur et renommez-le de rows.csv en baby_names.csv. Cela correspond à la variable file_name que vous avez définie à l’étape 2.
  3. Retournez à votre Workspace Databricks. Dans la barre latérale, cliquez sur Nouvelle icône Nouveau > Ajouter ou upload de données .
  4. Cliquez sur upload les fichiers vers un volume .
  5. Cliquez sur **Parcourir** et sélectionnez le baby_names.csv fichier, ou glissez-déposez-le dans la zone d'upload.
  6. Sous **Volume de destination**, sélectionnez le volume que vous avez spécifié à l'étape 2.
  7. Une fois l’upload terminé, revenez à votre Notebook et passez à l’ étape 4.

Pour plus de détails sur l'upload de fichiers, consultez Utiliser des fichiers dans les volumes Unity Catalog.

Option B : Download avec le code

  1. Copiez et collez le code suivant dans la nouvelle cellule de notebook vide. Ce code copie le fichier rows.csv de 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, puis passez à la cellule suivante.
Python
dbutils.fs.cp(f"{download_url}", f"{path_volume}" + "/" + f"{file_name}")

É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 Unity Catalog en utilisant 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 de noms de bébé dans le DataFrame df à partir du fichier CSV.
  2. Appuyez sur Shift+Enter pour exécuter la cellule, puis passez à la cellule suivante.
Python
df = spark.read.csv(f"{path_volume}/{file_name}",
header=True,
inferSchema=True,
sep=",")

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

Étape 5 : Visualiser les données du Notebook

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

  1. Copiez et collez le code suivant dans la nouvelle cellule de Notebook vide, puis cliquez sur Exécuter la cellule pour afficher les données dans un tableau.
Python
display(df)
  1. Examinez les résultats dans le tableau.

  2. À côté de l'onglet tab , cliquez sur + , puis sur Visualisation .

  3. Dans l'éditeur de visualisation, cliquez sur Type de visualisation , et vérifiez que Nuage de mots est sélectionné.

  4. Dans la colonne Mots , vérifiez que First Name est sélectionné.

  5. Dans **Frequencies limit**, cliquez 35 sur.

    graphique de cloud de mots

  6. Cliquez sur Enregistrer .

Étape 6 : Enregistrer le DataFrame dans une table

important

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

  1. Copiez et collez le code suivant dans une cellule de Notebook vide. Ce code remplace un espace dans le nom de la colonne. Les caractères spéciaux, tels que les espaces, ne sont pas autorisés dans les noms de colonne. Ce code utilise la méthode withColumnRenamed() d'Apache Spark.
Python
df = df.withColumnRenamed("First Name", "First_Name")
df.printSchema
  1. Copiez et collez le code suivant dans une cellule de Notebook vide. Ce code enregistre le contenu du DataFrame dans une table dans Unity Catalog en utilisant la variable de nom de table que vous avez définie au start de cet article.
Python
df.write.mode("overwrite").saveAsTable(f"{path_table}" + "." + f"{table_name}")
  1. 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.

  2. Cliquez sur votre table pour afficher le schéma de la table dans l'onglet Overview tab.

  3. Cliquez sur Exemples de données pour afficher 100 lignes de données de la table.

Importer et visualiser des Notebooks de données

Utilisez l'un des Notebooks suivants pour effectuer les étapes de cet article. Remplacez <catalog-name>, <schema-name> et <volume-name> par les noms de catalogue, de schéma et de volume pour un volume Unity Catalog. Facultativement, remplacez la valeur table_name par un nom de table de votre choix.

Importer des données depuis un CSV à l'aide de Python

Étapes suivantes

Ressources supplémentaires