Pular para o conteúdo principal

Começar: Importar e visualizar dados do CSV a partir de um Notebook

Este artigo o orienta no uso de um Notebook Databricks para importar dados de um arquivo CSV que contém dados de nomes de bebês de health.data.ny.gov para o volume Unity Catalog usando Python, Scala e R. Você também aprende a modificar o nome de uma coluna, visualizar os dados e salvar em uma tabela.

Requisitos

Para concluir a tarefa neste artigo, o senhor deve atender aos seguintes requisitos:

  • O site workspace deve ter Unity Catalog habilitado. Para obter informações sobre como começar com Unity Catalog, consulte Configurar e gerenciar Unity Catalog.
  • Você deve ter o privilégio WRITE VOLUME em um volume, o privilégio USE SCHEMA no esquema pai e o privilégio USE CATALOG no catálogo principal.
  • O senhor deve ter permissão para usar um recurso existente no site compute ou criar um novo recurso no site compute. Consulte Começar com Databricks ou consulte o administrador do site Databricks.
dica

Para ver um Notebook completo para esse artigo, consulte Importar e visualizar dados do Notebook.

Etapa 1: Criar um novo Notebook

Para criar um notebook no seu workspace, clique em Novo ícone Novo na barra lateral e clique em Notebook . Um notebook em branco será aberto no workspace.

Para saber mais sobre como criar e gerenciar o Notebook, consulte gerenciar o Notebook.

Etapa 2: Definir variáveis

Nesta etapa, o senhor define as variáveis a serem usadas no Notebook de exemplo que criou 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 de catálogo, esquema e volume de um volume do Unity Catalog. Opcionalmente, substitua o valor table_name por um nome de tabela de sua escolha. O senhor salvará os dados do nome do bebê nessa tabela mais adiante neste artigo.

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

    aba :::tab-item[Python]

    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

    :::

    Tab-item[Scala]

    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

    :::

    :::tab-item[r]

    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, o senhor importa um arquivo CSV contendo dados de nomes de bebês do site health.data.ny.gov para o volume do Unity Catalog.

  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 Unity Catalog usando o comando Databricks dbutuils.

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

    aba :::tab-item[Python]

    Python
    dbutils.fs.cp(f"{download_url}", f"{path_volume}" + "/" + f"{file_name}")

    :::

    Tab-item[Scala]

    Scala
    dbutils.fs.cp(downloadUrl, s"${pathVolume}/${fileName}")

    :::

    :::tab-item[r]

    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 a partir do arquivo CSV que você carregou anteriormente em seu volume do Unity Catalog 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 nomes de bebês no DataFrame df a partir do arquivo CSV.

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

    aba :::tab-item[Python]

    Python
    df = spark.read.csv(f"{path_volume}/{file_name}",
    header=True,
    inferSchema=True,
    sep=",")

    :::

    Tab-item[Scala]

    Scala
    val df = spark.read
    .option("header", "true")
    .option("inferSchema", "true")
    .option("delimiter", ",")
    .csv(s"${pathVolume}/${fileName}")

    :::

    :::tab-item[r]

    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 vários formatos de arquivo compatíveis.

Etapa 5: Visualizar dados do Notebook

Neste passo, você usa o método display() para exibir o conteúdo do DataFrame em uma tabela do notebook e, em seguida, 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, em seguida, clique em Executar célula para exibir os dados em uma tabela.

    aba :::tab-item[Python]

    Python
    display(df)

    :::

    Tab-item[Scala]

    Scala
    display(df)

    :::

    :::tab-item[r]

    R
    display(df)

    ::: ::::

  2. Analise os resultados da tabela.

  3. Perto da guia Tabela , clique em + 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á selecionada.

  5. Na coluna 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 Salvar .

Etapa 6: Salvar o DataFrame em uma tabela

important

Para salvar seu DataFrame no Unity Catalog, o senhor deve ter privilégios de tabela CREATE no catálogo e no esquema. Para obter informações sobre permissões em Unity Catalog, consulte Privileges and securable objects em Unity Catalog e gerenciar privilégios em Unity Catalog.

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

    aba :::tab-item[Python]

    Python
    df = df.withColumnRenamed("First Name", "First_Name")
    df.printSchema

    :::

    Tab-item[Scala]

    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()

    :::

    :::tab-item[r]

    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 do Unity Catalog usando a variável do nome da tabela que você definiu no início deste artigo.

    aba :::tab-item[Python]

    Python
    df.write.mode("overwrite").saveAsTable(f"{path_table}" + "." + f"{table_name}")

    :::

    Tab-item[Scala]

    Scala
    dfRenamedColumn.write.mode("overwrite").saveAsTable(s"${pathTable}.${tableName}")

    :::

    :::tab-item[r]

    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 Catalog Explorer. Abra seu catálogo e, em seguida, seu esquema, para verificar se a tabela aparece.

  4. Clique em sua tabela para visualizar o esquema da tabela na guia Visão geral .

  5. Clique em Dados de Amostra para visualizar 100 linhas de dados da tabela.

Importação e visualização de dados Notebook

Use um dos seguintes Notebooks para executar as etapas deste artigo. Substitua <catalog-name>, <schema-name> e <volume-name> pelos nomes de catálogo, esquema e volume de um volume do Unity Catalog. Opcionalmente, substitua o valor table_name por um nome de tabela de sua escolha.

Importar dados de CSV usando Python

Open notebook in new tab

Próximas etapas

Recurso adicional