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:

  • Uw werkruimte moet Unity Catalog ingeschakeld. Zie Unity Catalog instellen en beherenvoor meer informatie over het aan de slag gaan met Unity Catalog.
  • U moet de bevoegdheid WRITE VOLUME hebben op een volume, de bevoegdheid USE SCHEMA op het bovenliggende schema, en de bevoegdheid USE CATALOG op de bovenliggende catalogus.
  • U moet gemachtigd zijn om een bestaande rekenresource te gebruiken of een nieuwe rekenresource te maken. Zie Aan de slag met Azure Databricks of neem contact op met uw Databricks-beheerder.

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 pictogramNieuw 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 <catalog-name>, <schema-name>en <volume-name> door de catalogus-, schema- en volumenamen voor een Unity Catalog-volume. Vervang eventueel de table_name waarde door een tabelnaam van uw keuze. Je slaat de gegevens van de babynaam later in het 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 kopieert u het rows.csv-bestand van health.data.ny.gov naar uw Unity Catalog-volume met behulp van de opdracht Databricks 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 methode display() 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 vervolgens 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 + en klik vervolgens op Visualisatie.

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

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

  6. Klik in frequentielimietop 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 CREATE tabelbevoegdheden hebben voor de catalogus en het schema. Zie Bevoegdheden en beveiligbare objecten in Unity Catalog en Bevoegdheden beheren in Unity Catalogvoor 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 <catalog-name>, <schema-name>en <volume-name> door 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

Notitieblok ophalen

Scala

Gegevens importeren uit CSV met behulp van Scala

Notitieblok ophalen

R

Gegevens importeren uit CSV met R

Notitieblok ophalen

Volgende stappen

Aanvullende bronnen