Delen via


Aan de slag: CSV-gegevens importeren en visualiseren vanuit een notebook

In dit artikel wordt uitgelegd hoe u een Azure Databricks-notebook gebruikt om gegevens te importeren uit een CSV-bestand met babynaamgegevens uit health.data.ny.gov in uw Unity Catalog-volume met behulp van Python, Scala en R. U leert ook hoe u een kolomnaam wijzigt, de gegevens visualiseert en opslaat in een tabel.

Vereisten

Als u de taken in dit artikel wilt uitvoeren, moet u voldoen aan de volgende vereisten:

  • Voor uw werkruimte moet Unity Catalog zijn ingeschakeld. Zie Unity Catalog instellen en beheren voor meer informatie over hoe u aan de slag gaat met Unity Catalog.
  • U moet beschikken over de WRITE VOLUME bevoegdheid op een volume, de USE SCHEMA bevoegdheid voor het bovenliggende schema en de USE CATALOG bevoegdheid voor de bovenliggende catalogus.
  • U moet gemachtigd zijn om een bestaande rekenresource te gebruiken of een nieuwe rekenresource te maken. Zie Aan de slag: Account en werkruimte instellen of uw Databricks-beheerder zien.

Tip

Zie Gegevensnotitieblokken importeren en visualiseren voor een voltooid notitieblok voor dit artikel.

Stap 1: Een nieuw notitieblok maken

Als u een notitieblok in uw werkruimte wilt maken, klikt u op Nieuw pictogram Nieuw in de zijbalk en vervolgens op Notitieblok. Er wordt een leeg notitieblok geopend in de werkruimte.

Zie Notitieblokken beheren voor meer informatie over het maken en beheren van notitieblokken.

Stap 2: Variabelen definiƫren

In deze stap definieert u variabelen voor gebruik in het voorbeeldnotitieblok dat u in dit artikel maakt.

  1. Kopieer en plak de volgende code in de nieuwe lege notebookcel. Vervang , <schema-name>en <volume-name> door <catalog-name>de catalogus-, schema- en volumenamen voor een Unity Catalog-volume. Vervang eventueel de table_name waarde door een tabelnaam van uw keuze. U slaat de gegevens van de babynaam verderop in dit artikel op in deze tabel.

  2. Druk Shift+Enter om de cel uit te voeren en een nieuwe lege cel te maken.

    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
    

Stap 3: CSV-bestand importeren

In deze stap importeert u een CSV-bestand met babynaamgegevens uit health.data.ny.gov in uw Unity Catalog-volume.

  1. Kopieer en plak de volgende code in de nieuwe lege notebookcel. Met deze code wordt het rows.csv bestand van health.data.ny.gov naar uw Unity Catalog-volume gekopieerd met behulp van de databricks-opdracht dbutuils .

  2. Druk Shift+Enter om de cel uit te voeren en naar de volgende cel te gaan.

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

Stap 4: CSV-gegevens laden in een DataFrame

In deze stap maakt u een DataFrame met de naam df van het CSV-bestand dat u eerder in uw Unity Catalog-volume hebt geladen met behulp van de methode spark.read.csv .

  1. Kopieer en plak de volgende code in de nieuwe lege notebookcel. Met deze code worden babynaamgegevens vanuit het CSV-bestand in DataFrame df geladen.

  2. Druk Shift+Enter om de cel uit te voeren en naar de volgende cel te gaan.

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

U kunt gegevens laden uit een groot aantal ondersteunde bestandsindelingen.

Stap 5: Gegevens uit notebook visualiseren

In deze stap gebruikt u de display() methode om de inhoud van het DataFrame weer te geven in een tabel in het notebook en visualiseert u vervolgens de gegevens in een woordwolkdiagram in het notebook.

  1. Kopieer en plak de volgende code in de nieuwe lege notebookcel en klik op Cel uitvoeren om de gegevens in een tabel weer te geven.

    Python

    display(df)
    

    Scala

    display(df)
    

    R

    display(df)
    
  2. Bekijk de resultaten in de tabel.

  3. Klik naast het tabblad Tabel op + Visualisatie en klik vervolgens op Visualisatie.

  4. Klik in de visualisatie-editor op Visualisatietype en controleer of word-cloud is geselecteerd.

  5. Controleer of dit First Name is geselecteerd in de kolom Woorden.

  6. Klik in frequentielimiet op 35.

    woordwolkdiagram

  7. Klik op Opslaan.

Stap 6: Het DataFrame opslaan in een tabel

Belangrijk

Als u uw DataFrame in Unity Catalog wilt opslaan, moet u tabelbevoegdheden hebben CREATE voor de catalogus en het schema. Zie Bevoegdheden en beveiligbare objecten in Unity Catalog en bevoegdheden beheren in Unity Catalog voor meer informatie over machtigingen in Unity Catalog.

  1. Kopieer en plak de volgende code in een lege notebookcel. Deze code vervangt een spatie in de kolomnaam. Speciale tekens, zoals spaties, zijn niet toegestaan in kolomnamen. Deze code maakt gebruik van de Apache Spark-methode 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. Kopieer en plak de volgende code in een lege notebookcel. Met deze code wordt de inhoud van het DataFrame opgeslagen in een tabel in Unity Catalog met behulp van de tabelnaamvariabele die u aan het begin van dit artikel hebt gedefinieerd.

    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. Als u wilt controleren of de tabel is opgeslagen, klikt u op Catalogus in de linkerzijbalk om de gebruikersinterface van Catalog Explorer te openen. Open uw catalogus en vervolgens uw schema om te controleren of de tabel wordt weergegeven.

  4. Klik op de tabel om het tabelschema weer te geven op het tabblad Overzicht .

  5. Klik op Voorbeeldgegevens om 100 rijen met gegevens uit de tabel weer te geven.

Gegevensnotitieblokken importeren en visualiseren

Gebruik een van de volgende notebooks om de stappen in dit artikel uit te voeren. Vervang , <schema-name>en <volume-name> door <catalog-name>de catalogus-, schema- en volumenamen voor een Unity Catalog-volume. Vervang eventueel de table_name waarde door een tabelnaam van uw keuze.

Python

Gegevens importeren uit CSV met behulp van Python

Notebook downloaden

Scala

Gegevens importeren uit CSV met behulp van Scala

Notebook downloaden

R

Gegevens importeren uit CSV met R

Notebook downloaden

Volgende stappen

Aanvullende bronnen