Condividi tramite


Get avviato: Importare e visualizzare i dati CSV da un notebook

Questo articolo illustra come usare un notebook di Azure Databricks per importare dati da un file CSV contenente i dati dei nomi figlio da health.data.ny.gov nel volume Catalog Unity usando Python, Scala e R. Si apprenderà anche come modificare un nome di column, visualizzare i dati e salvarli in un table.

Requisiti

Per completare queste attività, è necessario soddisfare i requisiti seguenti:

  • L'area di lavoro deve avere Unity abilitata Catalog. Per informazioni su come iniziare a usare Unity Catalog, vedere Set su come impostare e gestire Unity Catalog.
  • È necessario avere il privilegio WRITE VOLUME su un volume, il privilegio USE SCHEMA sul schemapadre e il privilegio USE CATALOG sul catalogpadre.
  • È necessario disporre dell'autorizzazione per usare una risorsa di calcolo esistente o creare una nuova risorsa di calcolo. Consulta Get iniziato a usare Azure Databricks o consulta l'amministratore di Databricks.

Suggerimento

Per un notebook completo relativo a questo articolo, consultare Importare e visualizzare i notebook di dati.

Passaggio 1: Creare un nuovo notebook

Per creare un Notebook nell'area di lavoro, fare clic su Nuova iconaNuovo nella barra laterale e quindi su Notebook. Viene aperto un Notebook vuoto nell'area di lavoro.

Per altre informazioni sulla creazione e la gestione dei Notebook, vedere Gestire i Notebook.

Passaggio 2: definire le variabili

In questo passaggio si definiscono le variabili da usare nel Notebook di esempio creato in questo articolo.

  1. Copiare e incollare il codice seguente nella nuova cella vuota del Notebook. Sostituire <catalog-name>, <schema-name>e <volume-name> con i nomi di volume catalog, schemae per un volume di Unity Catalog. Facoltativamente, sostituire il valore table_name con un nome table di propria scelta. I dati relativi al nome del bambino verranno salvati in questo table più avanti in questo articolo.

  2. Premere Shift+Enter per eseguire la cella e creare una nuova cella vuota.

    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
    

Step 3: importare il file CSV

In questo passaggio si importa un file CSV contenente dati sui nomi dei bambini da health.data.ny.gov nel volume Unity Catalog.

  1. Copiare e incollare il codice seguente nella nuova cella vuota del Notebook. Questo codice copia il file rows.csv da health.data.ny.gov nel volume Catalog di Unity usando il comando Databricks dbutils.

  2. Premere Shift+Enter per eseguire la cella e poi passare alla cella successiva.

    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 = ""))
    

Step 4: Caricare dati CSV in un DataFrame

In questo passaggio si crea un dataframe denominato df dal file CSV caricato in precedenza nel volume Catalog Unity usando il metodo spark.read.csv.

  1. Copiare e incollare il codice seguente nella nuova cella vuota del Notebook. Questo codice carica i dati dei nomi de bambini nel DataFrame df dal file CSV.

  2. Premere Shift+Enter per eseguire la cella e poi passare alla cella successiva.

    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 = ",")
    

È possibile caricare i dati da molti formati di file supportati.

Step 5: Visualizzare i dati dal notebook

In questo passaggio, si utilizza il metodo display() per visualizzare il contenuto del DataFrame in un table nel notebook, e quindi visualizzare i dati in una nuvola di parole nel notebook.

  1. Copia e incolla il codice seguente nella nuova cella vuota del notebook, quindi clicca su Esegui cella per visualizzare i dati in un table.

    Python

    display(df)
    

    Scala

    display(df)
    

    R

    display(df)
    
  2. Esaminare i risultati nel table.

  3. Accanto alla scheda Table fare clic su + e quindi su Visualizzazione.

  4. Nell'editor di visualizzazione fare clic su Tipo di visualizzazione e verificare che sia selezionata la nuvola di parole.

  5. Nella Parole columnverificare che sia selezionato First Name.

  6. In Frequenze limitfare clic su 35.

    Grafico a nuvola di parole

  7. Fare clic su Salva.

Passaggio 6: Salvare il dataframe in un table

Importante

Per salvare il dataframe in Unity Catalog, è necessario disporre dei privilegi di CREATEtable per il catalog e schema. Per informazioni sulle autorizzazioni in Unity Catalog, vedere Privilegi e oggetti proteggibili in Unity Catalog e Gestione dei privilegi in Unity Catalog.

  1. Copiare il codice seguente e incollarlo in una cella vuota del notebook. Questo codice sostituisce uno spazio nel nome column. caratteri speciali, ad esempio gli spazi non sono consentiti nei nomi di column. Questo codice usa il metodo 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)
    
  2. Copiare il codice seguente e incollarlo in una cella vuota del notebook. Questo codice salva il contenuto del dataframe in un table in Unity Catalog usando la variabile nome table definita all'inizio di questo articolo.

    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. Per verificare che il table sia stato salvato, fare clic su Catalog nella barra laterale sinistra per aprire l'interfaccia utente di Esplora Catalog. Apri il catalog e poi il schema per verificare che venga visualizzato il table.

  4. Cliccare su table per visualizzare il tableschema nella scheda Panoramica .

  5. Clicca su Dati di esempio per visualizzare 100 righe di dati da table.

Importare e visualizzare i notebook di dati

Usare uno dei Notebook seguenti per eseguire la procedura descritta in questo articolo. Sostituire <catalog-name>, <schema-name>e <volume-name> con i nomi di volume catalog, schemae per un volume di Unity Catalog. Facoltativamente, sostituire il valore table_name con un nome table di propria scelta.

Python

Importare dati da CSV usando Python

Get portatile

Scala

Importare dati da CSV usando Scala

Get portatile

R

Importare dati da CSV usando R

Get computer portatile

Passaggi successivi

Risorse aggiuntive