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égioUSE SCHEMA
no esquema pai e o privilégioUSE 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.
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 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.
-
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 valortable_name
por um nome de tabela de sua escolha. O senhor salvará os dados do nome do bebê nessa tabela mais adiante neste artigo. -
Pressione
Shift+Enter
para executar a célula e criar uma nova célula em branco.aba :::tab-item[Python]
Pythoncatalog = "<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]
Scalaval 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]
Rcatalog <- "<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.
-
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. -
Pressione
Shift+Enter
para executar a célula e depois passar para a próxima célula.aba :::tab-item[Python]
Pythondbutils.fs.cp(f"{download_url}", f"{path_volume}" + "/" + f"{file_name}")
:::
Tab-item[Scala]
Scaladbutils.fs.cp(downloadUrl, s"${pathVolume}/${fileName}")
:::
:::tab-item[r]
Rdbutils.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.
-
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. -
Pressione
Shift+Enter
para executar a célula e depois passar para a próxima célula.aba :::tab-item[Python]
Pythondf = spark.read.csv(f"{path_volume}/{file_name}",
header=True,
inferSchema=True,
sep=","):::
Tab-item[Scala]
Scalaval 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.
-
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]
Pythondisplay(df)
:::
Tab-item[Scala]
Scaladisplay(df)
:::
:::tab-item[r]
Rdisplay(df)
::: ::::
-
Analise os resultados da tabela.
-
Perto da guia Tabela , clique em + e, em seguida, clique em Visualização .
-
No editor de visualização, clique em Tipo de Visualização e verifique se a nuvem de palavras está selecionada.
-
Na coluna Palavras , verifique se
First Name
está selecionado. -
Em Limite de frequências , clique em
35
. -
Clique em Salvar .
Etapa 6: Salvar o DataFrame em uma tabela
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.
-
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]
Pythondf = df.withColumnRenamed("First Name", "First_Name")
df.printSchema:::
Tab-item[Scala]
Scalaval 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]
Rdf <- withColumnRenamed(df, "First Name", "First_Name")
printSchema(df)::: ::::
-
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]
Pythondf.write.mode("overwrite").saveAsTable(f"{path_table}" + "." + f"{table_name}")
:::
Tab-item[Scala]
ScaladfRenamedColumn.write.mode("overwrite").saveAsTable(s"${pathTable}.${tableName}")
:::
:::tab-item[r]
RsaveAsTable(df, paste(path_table, ".", table_name), mode = "overwrite")
::: ::::
-
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.
-
Clique em sua tabela para visualizar o esquema da tabela na guia Visão geral .
-
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.
- Python
- Scala
- R
Importar dados de CSV usando Python
Importar dados de CSV usando Scala
Importar dados de CSV usando o R
Próximas etapas
- Para saber mais sobre as técnicas de análise exploratória de dados (EDA), consulte o tutorial: EDA techniques using Databricks Notebook.
- Para saber mais sobre como criar um ETL (extrair, transformar e carregar) pipeline, consulte o tutorial: Construir um ETL pipeline com DLT e tutorial: Crie um ETL pipeline com Apache Spark na plataforma Databricks