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:
- Seu espaço de trabalho deve ter o Catálogo do Unity habilitado. Para obter informações sobre como começar a usar o Catálogo do Unity, consulte Configurar e gerenciar o Catálogo do Unity.
- O usuário também 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 pai. - Você deve ter permissão para usar um recurso de computação existente ou criar um recurso de computação. Consulte Começar: Configuração da conta e do espaço de trabalho ou consulte o administrador do Databricks.
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 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.
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 valortable_name
por um nome de tabela à sua escolha. Você salvará os dados do nome do bebê nesta tabela mais adiante neste artigo.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.
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.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.
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.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.
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)
Examine os resultados na tabela.
Ao lado da guia Tabela, clique + 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á selecionado.
Na coluna de palavras, verifique se
First Name
está selecionado.Em limite de frequências, clique em
35
.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.
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)
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")
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.
Clique na tabela para exibir o esquema de tabela na guia Visão.
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
Scala
Importar dados do CSV usando Scala
R
Importar dados do CSV usando R
Próximas etapas
- Para saber como inserir dados adicionais em uma tabela existente a partir de um arquivo CSV, consulte Começar: Ingerir e inserir dados adicionais.
- Para aprender sobre limpeza e aprimoramento de dados, veja Introdução: Aprimorar e limpar dados.