Bien démarrer : Importer et visualiser des données CSV depuis un notebook
Cet article vous guide tout au long de l’utilisation d’un notebook Azure Databricks pour importer les données d’un fichier CSV contenant des données sur les noms des nouveaux-nés provenant de health.data.ny.gov dans votre volume Unity Catalog en utilisant Python, Scala et R. Vous découvrez également comment modifier un nom de colonne, visualiser les données et les enregistrer dans une table.
Spécifications
Pour effectuer les tâches décrites dans cet article, vous devez répondre aux exigences suivantes :
- Unity Catalog doit être activé pour votre espace de travail. Pour bien démarrer avec Unity Catalog, consultez Configurer et gérer Unity Catalog.
- L’utilisateur doit disposer du privilège
WRITE VOLUME
sur un volume, du privilègeUSE SCHEMA
sur le schéma parent, et du privilègeUSE CATALOG
sur le catalogue parent. - Vous devez avoir l’autorisation d’utiliser une ressource de calcul existante ou d’en créer une. Consultez Démarrage : configuration d’un compte et d’un espace de travail ou contactez votre administrateur Databricks.
Conseil
Pour découvrir un notebook terminé pour cet article, voir Importer et visualiser des notebooks de données.
Étape 1 : créer un notebook
Pour créer un notebook dans votre espace de travail, cliquez sur Nouveau dans la barre latérale, puis sur Notebook. Un notebook vide s’ouvre dans l’espace de travail.
Pour en savoir plus sur la création et la gestion des notebooks, consultez Gérer les notebooks.
É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.
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 valeurtable_name
par le nom de table de votre choix. Plus loin dans cet article, vous allez charger les données des noms de nouveaux-nés dans cette table.Appuyez sur
Shift+Enter
pour exécuter la cellule et créer une 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
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 les données des noms de nouveaux-nés depuis health.data.ny.gov dans votre volume Unity Catalog.
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 dbutuils.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}")
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 Unity Catalog en utilisant la méthode spark.read.csv.
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.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=",")
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.
Copiez et collez le code suivant dans la nouvelle cellule vide du notebook, puis cliquez sur Exécuter la cellule pour afficher les données dans un tableau.
Python
display(df)
Scala
display(df)
R
display(df)
Passez en revue les résultats dans le tableau.
Près de l’onglet Table, cliquez sur +, puis sur Visualisation.
Dans l’éditeur de visualisation, cliquez sur Type de visualisation, puis vérifiez que Nuage de mots est sélectionné.
Dans la colonne Mots, vérifiez que
First Name
est sélectionné.Dans Limite des fréquences, cliquez sur
35
.Cliquez sur Enregistrer.
Étape 6 : enregistrer le DataFrame dans une table
Important
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 Unity Catalog, consultez Privilèges et objets sécurisables dans Unity Catalog, Gérer les privilèges dans Unity Catalog.
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 comme les espaces ne sont pas autorisés dans les noms de colonne. Ce code utilise la méthode Apache Spark
withColumnRenamed()
.Python
df = df.withColumnRenamed("First Name", "First_Name") df.printSchema
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)
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}")
Scala
dfRenamedColumn.write.mode("overwrite").saveAsTable(s"${pathTable}.${tableName}")
R
saveAsTable(df, paste(path_table, ".", table_name), mode = "overwrite")
Pour vérifier que la table a été enregistrée, cliquez sur Catalog (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.
Cliquez sur votre table pour voir le schéma de la table sous l’onglet Overview (Vue d’ensemble).
Cliquez sur Sample Data (Échantillon de données) pour voir 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 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
Scala
Importer des données de CSV en utilisant Scala
R
Importer des données de CSV en utilisant R
Étapes suivantes
- Pour découvrir l’ajout de données supplémentaires dans une table existant à partir d’un fichier CSV, consultez Démarrage : ingérer et insérer d’autres données.
- Pour découvrir plus d’informations sur le nettoyage et l’amélioration des données, consultez Prise en main : améliorer et nettoyer les données.