Primeiros passos: importe e visualize dados CSV de um bloco de anotações
Este artigo orienta você pelo uso de um bloco de anotações do Azure Databricks para importar dados de um arquivo CSV contendo dados de nome de bebê do health.data.ny.gov para o volume do Catálogo Unity usando Python, Scala e R. Você também aprende 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 Unity Catalog habilitado. Para obter informações sobre como começar a usar o Unity Catalog, consulte Configurar e gerenciar o Unity Catalog.
- Você deve ter o
WRITE VOLUME
privilégio em um volume, oUSE SCHEMA
privilégio no esquema pai e oUSE CATALOG
privilégio no catálogo pai. - Você deve ter permissão para usar um recurso de computação existente ou criar um novo recurso de computação. Consulte Introdução: Configuração de conta e espaço de trabalho ou consulte o administrador do Databricks.
Gorjeta
Para obter um bloco de anotações concluído para este artigo, consulte Importar e visualizar blocos de anotações de dados.
Etapa 1: Criar um novo bloco de anotações
Para criar um bloco de notas na sua área de trabalho, clique em Novo na barra lateral e, em seguida, clique em Bloco de Notas. Um bloco de anotações em branco é aberto no espaço de trabalho.
Para saber mais sobre como criar e gerir blocos de notas, consulte Gerir blocos de notas.
Etapa 2: Definir variáveis
Nesta etapa, você define variáveis para uso no bloco de anotações de exemplo criado neste artigo.
Copie e cole o código a seguir na nova célula vazia do bloco de anotações. Substitua
<catalog-name>
,<schema-name>
e<volume-name>
pelos nomes de catálogo, esquema e volume de um volume do Catálogo Unity. Opcionalmente, substitua otable_name
valor por um nome de tabela de 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ê importa um arquivo CSV contendo dados de nome do bebê do health.data.ny.gov para o volume do Catálogo Unity.
Copie e cole o código a seguir na nova célula vazia do bloco de anotações. Esse código copia o
rows.csv
arquivo do health.data.ny.gov para o volume do Catálogo Unity usando o comando Databricks dbutuils.Pressione
Shift+Enter
para executar a célula e, em seguida, 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ê cria um DataFrame nomeado df
a partir do arquivo CSV que você carregou anteriormente no volume do Catálogo Unity usando o método spark.read.csv .
Copie e cole o código a seguir na nova célula vazia do bloco de anotações. Esse código carrega dados de nome do bebê no DataFrame
df
a partir do arquivo CSV.Pressione
Shift+Enter
para executar a célula e, em seguida, 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 suportados.
Etapa 5: visualizar dados do bloco de anotações
Nesta etapa, você usa o display()
método para exibir o conteúdo do DataFrame em uma tabela no bloco de anotações e, em seguida, visualizar os dados em um gráfico de nuvem de palavras no bloco de anotações.
Copie e cole o código a seguir na nova célula vazia do bloco de anotações e clique em Executar célula para exibir os dados em uma tabela.
Python
display(df)
Scala
display(df)
R
display(df)
Analise os resultados na tabela.
Ao lado 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 Guardar.
Etapa 6: Salvar o DataFrame em uma tabela
Importante
Para salvar seu DataFrame no Unity Catalog, você deve ter CREATE
privilégios de tabela no catálogo e no esquema. Para obter informações sobre permissões no Unity Catalog, consulte Privilégios e objetos protegíveis no Unity Catalog e Manage privileges in Unity Catalog.
Copie e cole o código a seguir em uma célula vazia do bloco de anotações. 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. Este código usa o método Apache Spark
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)
Copie e cole o código a seguir em uma célula vazia do bloco de anotações. Esse código salva o conteúdo do DataFrame em uma tabela no Unity Catalog 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 Catalog Explorer. Abra o catálogo e, em seguida, o esquema para verificar se a tabela aparece.
Clique na tabela para visualizar o esquema da tabela na guia Visão geral .
Clique em Dados de Exemplo para exibir 100 linhas de dados da tabela.
Importar e visualizar blocos de anotações de dados
Use um dos seguintes blocos de anotações para executar as etapas neste artigo. Substitua <catalog-name>
, <schema-name>
e <volume-name>
pelos nomes de catálogo, esquema e volume de um volume do Catálogo Unity. Opcionalmente, substitua o table_name
valor por um nome de tabela de sua escolha.
Python
Importar dados de CSV usando Python
Scala
Importar dados do CSV usando o Scala
R
Importar dados do CSV usando R
Próximos passos
- Para saber mais sobre como adicionar dados adicionais a uma tabela existente a partir de um arquivo CSV, consulte Introdução: ingerir e inserir dados adicionais.
- Para saber mais sobre limpeza e aprimoramento de dados, consulte Introdução: aprimorar e limpar dados.