Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här självstudien beskriver hur du använder en Azure Databricks-notebook-fil för att importera data från en CSV-fil som innehåller babynamnsdata från health.data.ny.gov till Unity Catalog-volymen med Python, Scala och R. Du lär dig också att ändra ett kolumnnamn, visualisera data och spara i en tabell.
Anmärkning
Om du använder Databricks Free Edition väljer du fliken Python för alla kodexempel i den här självstudien. Free Edition stöder inte R eller Scala. Dessutom begränsar Free Edition utgående internetåtkomst, så du måste ladda upp CSV-filen med hjälp av arbetsytans användargränssnitt i stället för att ladda ned den med kod. Mer information finns i Steg 3 .
Krav
För att slutföra uppgifterna i den här artikeln måste du uppfylla följande krav:
- Unity Catalog måste vara aktiverat på arbetsytan. Information om hur du kommer igång med Unity Catalog finns i Komma igång med Unity Catalog. Azure Databricks Free Edition och kostnadsfria utvärderingsarbetsytor har Unity Catalog aktiverat som standard.
- Du måste ha behörigheten
WRITE VOLUMEpå en volym, behörighetenUSE SCHEMAför det överordnade schemat och behörighetenUSE CATALOGför den överordnade katalogen. Free Edition-användare har dessa behörigheter i arbetsytekatalogen ochdefaultschemat som standard. - Du måste ha behörighet att använda en befintlig beräkningsresurs eller skapa en ny beräkningsresurs. Mer information finns i Beräkna eller kontakta Azure Databricks-administratören.
Tips
En slutförd notebook-fil för den här artikeln finns i Importera och visualisera dataanteckningsböcker.
Steg 1: Skapa en ny notebook-fil
Om du vill skapa en notebook-fil på arbetsytan klickar du på
Ny i sidofältet och klickar sedan på Anteckningsbok. En tom anteckningsbok öppnas på arbetsytan.
Mer information om hur du skapar och hanterar notebook-filer finns i Hantera notebook-filer.
Steg 2: Definiera variabler
I det här steget definierar du variabler som ska användas i den notebook-exempelanteckningsbok som du skapar i den här artikeln. Du behöver namnen på en Unity Catalog-katalog, ett schema och en volym.
Tips
Om du inte känner till katalog- och schemanamnen klickar du på Katalog i sidofältet. Arbetsytekatalogen delar ett namn med din arbetsyta och visas i katalogpanelen. Expandera den för att se tillgängliga scheman. Free Edition och kostnadsfria utvärderingsanvändare kan använda arbetsytekatalogen
default och schemat.
Om du inte har en volym skapar du en genom att köra följande kommando i en notebook-cell (ersätt <catalog_name> och <schema_name> med dina värden):
CREATE VOLUME IF NOT EXISTS <catalog_name>.<schema_name>.my_volume
Kopiera och klistra in följande kod i den nya tomma notebook-cellen. Ersätt
<catalog-name>,<schema-name>och<volume-name>med katalog-, schema- och volymnamnen för en Unity Catalog-volym. Du kan också ersätta värdettable_namemed ett valfritt tabellnamn. Du sparar babynamndata i den här tabellen senare i den här artikeln.Tryck
Shift+Enterför att köra cellen och skapa en ny tom cell.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 pathScala
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 pathR
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
Steg 3: Importera CSV-fil
I det här steget importerar du en CSV-fil som innehåller babynamnsdata från health.data.ny.gov till Unity Catalog-volymen. Använd någon av följande metoder:
- Ladda upp med arbetsytans användargränssnitt – Använd den här metoden om du använder Databricks Free Edition, eller om kodhämtningen i alternativ B misslyckas med ett nätverksfel. Free Edition och andra serverlösa beräkningsmiljöer begränsar utgående Internetåtkomst, så du måste ladda upp filen från den lokala datorn.
- Ladda ned med hjälp av kod – Använd den här metoden om din beräkningsmiljö har utgående Internetåtkomst.
Alternativ A: Ladda upp med hjälp av arbetsytans användargränssnitt
- Öppna health.data.ny.gov/api/views/jxy9-yhdk/rows.csv i webbläsaren på den lokala datorn. Filen laddas ned till datorn som
rows.csv. - Leta upp den nedladdade filen på datorn och byt namn på den från
rows.csvtillbaby_names.csv. Detta matchar denfile_namevariabel som du definierade i steg 2. - Gå tillbaka till din Azure Databricks-arbetsyta. I sidofältet klickar du på
Ny > lägg till eller ladda upp data. - Klicka på Ladda upp filer till en volym.
- Klicka på Bläddra och välj
baby_names.csvfilen eller dra och släpp den i uppladdningsområdet. - Under Målvolym väljer du den volym som du angav i steg 2.
- När uppladdningen är klar går du tillbaka till anteckningsboken och fortsätter med steg 4.
Mer information om hur du laddar upp filer finns i Ladda upp filer till en Unity Catalog-volym.
Alternativ B: Ladda ned med hjälp av kod
Kopiera och klistra in följande kod i den nya tomma notebook-cellen. Den här koden kopierar
rows.csvfilen från health.data.ny.gov till Unity Catalog-volymen med hjälp av kommandot Databricks dbutils .Tryck
Shift+Enterför att köra cellen och flytta sedan till nästa cell.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 = ""))
Steg 4: Läsa in CSV-data i en DataFrame
I det här steget skapar du en DataFrame med namnet df från CSV-filen som du tidigare läste in i Unity Catalog-volymen med hjälp av metodenspark.read.csv .
Kopiera och klistra in följande kod i den nya tomma notebook-cellen. Den här koden läser in babynamnsdata i DataFrame
dffrån CSV-filen.Tryck
Shift+Enterför att köra cellen och flytta sedan till nästa cell.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 = ",")
Du kan läsa in data från många filformat som stöds.
Steg 5: Visualisera data från notebook
I det här steget använder display() du metoden för att visa innehållet i DataFrame i en tabell i notebook-filen och sedan visualisera data i ett ordmolndiagram i notebook-filen.
Kopiera och klistra in följande kod i den nya tomma notebook-cellen och klicka sedan på Kör cell för att visa data i en tabell.
python
display(df)Scala
display(df)R
display(df)Granska resultatet i tabellen.
Bredvid fliken Tabell klickar du på + och klickar sedan på Visualisering.
I visualiseringsredigeraren klickar du på Visualiseringstyp och kontrollerar att Word-molnet är markerat.
Kontrollera att
First Nameär markerad i kolumnen Ord .I Frekvensgräns klickar du på
35.
Klicka på Spara.
Steg 6: Spara DataFrame i en tabell
Viktigt!
Om du vill spara dataramen i Unity Catalog måste du ha CREATE tabellbehörigheter i katalogen och schemat. Information om behörigheter i Unity Catalog finns i Privilegier och skyddsbara objekt i Unity Catalog och Hantera privilegier i Unity Catalog.
Kopiera och klistra in följande kod i en tom notebook-cell. Den här koden ersätter ett blanksteg i kolumnnamnet. Specialtecken, till exempel blanksteg, tillåts inte i kolumnnamn. Den här koden använder Apache Spark-metoden
withColumnRenamed().python
df = df.withColumnRenamed("First Name", "First_Name") df.printSchemaScala
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)Kopiera och klistra in följande kod i en tom notebook-cell. Den här koden sparar innehållet i DataFrame i en tabell i Unity Catalog med hjälp av den tabellnamnsvariabel som du definierade i början av den här artikeln.
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")Kontrollera att tabellen har sparats genom att klicka på Katalog i det vänstra sidofältet för att öppna katalogutforskarens användargränssnitt. Öppna katalogen och sedan schemat för att kontrollera att tabellen visas.
Klicka på tabellen för att visa tabellschemat på fliken Översikt .
Klicka på Exempeldata för att visa 100 rader data från tabellen.
Importera och visualisera dataanteckningsböcker
Använd någon av följande notebook-filer för att utföra stegen i den här artikeln. Ersätt <catalog-name>, <schema-name>och <volume-name> med katalog-, schema- och volymnamnen för en Unity Catalog-volym. Du kan också ersätta värdet table_name med ett valfritt tabellnamn.
python
Importera data från CSV med Python
Scala
Importera data från CSV med Scala
R
Importera data från CSV med R
Nästa steg
- För att lära dig mer om tekniker för undersökande dataanalys (EDA), se Handledning: EDA-tekniker med Databricks notebooks.
- Mer information om hur du skapar en ETL-pipeline (extrahera, transformera och läsa in) finns i Självstudie: Skapa en ETL-pipeline med Lakeflow Spark Deklarativa Pipelines och Självstudie: Skapa en ETL-pipeline med Apache Spark på Databricks-plattformen