Dela via


Självstudie: Importera och visualisera CSV-data från en notebook

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 VOLUME på en volym, behörigheten USE SCHEMA för det överordnade schemat och behörigheten USE CATALOG för den överordnade katalogen. Free Edition-användare har dessa behörigheter i arbetsytekatalogen och default schemat 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 ikonNy 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å dataikonen.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
  1. 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ärdet table_name med ett valfritt tabellnamn. Du sparar babynamndata i den här tabellen senare i den här artikeln.

  2. Tryck Shift+Enter fö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 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
    

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

  1. Ö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.
  2. Leta upp den nedladdade filen på datorn och byt namn på den från rows.csv till baby_names.csv. Detta matchar den file_name variabel som du definierade i steg 2.
  3. Gå tillbaka till din Azure Databricks-arbetsyta. I sidofältet klickar du på Ny ikonNy > lägg till eller ladda upp data.
  4. Klicka på Ladda upp filer till en volym.
  5. Klicka på Bläddra och välj baby_names.csv filen eller dra och släpp den i uppladdningsområdet.
  6. Under Målvolym väljer du den volym som du angav i steg 2.
  7. 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

  1. Kopiera och klistra in följande kod i den nya tomma notebook-cellen. Den här koden kopierar rows.csv filen från health.data.ny.gov till Unity Catalog-volymen med hjälp av kommandot Databricks dbutils .

  2. Tryck Shift+Enter fö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 .

  1. Kopiera och klistra in följande kod i den nya tomma notebook-cellen. Den här koden läser in babynamnsdata i DataFrame df från CSV-filen.

  2. Tryck Shift+Enter fö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.

  1. 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)
    
  2. Granska resultatet i tabellen.

  3. Bredvid fliken Tabell klickar du på + och klickar sedan på Visualisering.

  4. I visualiseringsredigeraren klickar du på Visualiseringstyp och kontrollerar att Word-molnet är markerat.

  5. Kontrollera att First Name är markerad i kolumnen Ord .

  6. I Frekvensgräns klickar du på 35.

    ordmoln

  7. 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.

  1. 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.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)
    
  2. 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")
    
  3. 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.

  4. Klicka på tabellen för att visa tabellschemat på fliken Översikt .

  5. 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

Hämta anteckningsbok

Scala

Importera data från CSV med Scala

Hämta anteckningsbok

R

Importera data från CSV med R

Hämta anteckningsbok

Nästa steg

Ytterligare resurser