Compartilhar via


Introdução: importar e visualizar dados CSV de um notebook

Este artigo orienta você no uso de um notebook do Azure Databricks para importar dados de um arquivo CSV contendo dados de nomes de bebês do sitehealth.data.ny.gov para o volume do Catálogo do Unity usando Python, Scala e R. Você também aprenderá a modificar um nome de coluna, visualizar os dados e salvar em uma tabela.

Requisitos

Para concluir as tarefas neste artigo, você deve atender aos seguintes requisitos:

Dica

Para obter um notebook concluído para este artigo, consulte Importar e visualizar notebooks de dados.

Etapa 1: Criar um notebook

Para criar um bloco de notas na sua área de trabalho, clique em ícone Novo Novo na barra lateral e, em seguida, clique em Notebook. Um notebook em branco é aberto no workspace.

Para saber mais sobre como criar e gerenciar notebooks, consulte Gerenciar notebooks.

Etapa 2: definir variáveis

Nesta etapa, você definirá variáveis para uso no notebook de exemplo criado neste artigo.

  1. Copie e cole o código a seguir na nova célula vazia do notebook. Substitua <catalog-name>, <schema-name> e <volume-name> pelos nomes do catálogo, esquema e volume de um volume do Catálogo do Unity. Opcionalmente, substitua o valor table_name por um nome de tabela à sua escolha. Você salvará os dados do nome do bebê nesta tabela mais adiante neste artigo.

  2. Pressione Shift+Enter para executar a célula e criar uma nova célula em branco.

    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
    

Etapa 3: importar arquivo CSV

Nesta etapa, você importará um arquivo CSV que contém dados de nome de bebê de health.data.ny.gov para o volume do Catálogo do Unity.

  1. Copie e cole o código a seguir na nova célula vazia do notebook. Esse código copia o arquivo rows.csv de health.data.ny.gov para o volume do Catálogo do Unity usando o comando Databricks dbutuils.

  2. Pressione Shift+Enter para executar a célula e depois vá para a próxima célula.

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

Etapa 4: carregar dados CSV em um DataFrame

Nesta etapa, você criará um DataFrame chamado df do arquivo CSV que você carregou anteriormente no volume do Catálogo do Unity usando o método spark.read.csv.

  1. Copie e cole o código a seguir na nova célula vazia do notebook. Esse código carrega dados de nome de bebê no DataFrame df do arquivo CSV.

  2. Pressione Shift+Enter para executar a célula e depois vá para a próxima célula.

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

Você pode carregar dados de muitos formatos de arquivo com suporte.

Etapa 5: Visualizar os dados do notebook

Nesta etapa, você usará o método display() para exibir o conteúdo do DataFrame em uma tabela no notebook e visualizar os dados em um gráfico de nuvem de palavras no notebook.

  1. Copie e cole o código a seguir na nova célula vazia do notebook e clique em Executar de célula para exibir os dados em uma tabela.

    Python

    display(df)
    

    Scala

    display(df)
    

    R

    display(df)
    
  2. Examine os resultados na tabela.

  3. Ao lado da guia Tabela, clique + e, em seguida, clique em Visualização.

  4. No editor de visualização, clique em Tipo de visualização e verifique se a nuvem de palavras está selecionado.

  5. Na coluna de palavras, verifique se First Name está selecionado.

  6. Em limite de frequências, clique em 35.

    gráfico de nuvem de palavras

  7. Clique em Save (Salvar).

Etapa 6: salvar o DataFrame em uma tabela

Importante

Para salvar seu DataFrame no Catálogo do Unity, você deve ter privilégios de tabela CREATE no catálogo e no esquema. Para obter informações sobre permissões no Catálogo do Unity, consulte Privilégios e objetos protegíveis no Catálogo do Unity e Gerenciar privilégios no Catálogo do Unity.

  1. Copie e cole o código a seguir em uma célula vazia do notebook. Este código substitui um espaço no nome da coluna. Caracteres especiais, como espaços não são permitidos em nomes de coluna. Esse código usa o método withColumnRenamed() do Apache Spark.

    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. Copie e cole o código a seguir em uma célula vazia do notebook. Esse código salva o conteúdo do DataFrame em uma tabela no Catálogo do Unity usando a variável de nome de tabela que você definiu no início deste artigo.

    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. Para verificar se a tabela foi salva, clique em Catálogo na barra lateral esquerda para abrir a interface do usuário do Gerenciador de Catálogos. Abra o catálogo e, em seguida, o esquema para verificar se a tabela é exibida.

  4. Clique na tabela para exibir o esquema de tabela na guia Visão.

  5. Clique em Dados de Exemplo para exibir 100 linhas de dados da tabela.

Importar e visualizar notebooks de dados

Use um dos notebooks a seguir para seguir as etapas desse artigo. Substitua <catalog-name>, <schema-name> e <volume-name> pelos nomes do catálogo, esquema e volume de um volume do Catálogo do Unity. Opcionalmente, substitua o valor table_name por um nome de tabela à sua escolha.

Python

Importar dados do CSV usando Python

Obter notebook

Scala

Importar dados do CSV usando Scala

Obter notebook

R

Importar dados do CSV usando R

Obter notebook

Próximas etapas

Recursos adicionais