Introdução: importação e visualização dos dados CSV de um notebook
Este artigo o orienta no uso do Databricks Notebook para importar dados de um arquivo CSV que contém dados de nomes de bebês do health.data.ny.gov para o seu volume Unity Catalog usando Python, Scala e R. O senhor também aprenderá 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 Get começar: account e workspace setup ou consulte o administrador do site Databricks.
Dica
Para obter um Notebook completo para este artigo, consulte Import and visualize data Notebook.
Passo 1: criação de 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 notebooks, consulte Gerenciar notebooks.
Passo 2: definição das variáveis
Neste passo, o senhor define variáveis para uso no exemplo Notebook 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.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
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
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
o passo 3: Importar o arquivo CSV
Neste passo, o senhor importa um arquivo CSV que contém dados de nomes de bebês do site health.data.ny.gov para o volume Unity Catalog.
Copie e cole o código a seguir na nova célula vazia do site 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.dbutils.fs.cp(f"{download_url}", f"{path_volume}" + "/" + f"{file_name}")
dbutils.fs.cp(downloadUrl, s"${pathVolume}/${fileName}")
dbutils.fs.cp(download_url, paste(path_volume, "/", file_name, sep = ""))
Passo 4: carregamento de 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.df = spark.read.csv(f"{path_volume}/{file_name}", header=True, inferSchema=True, sep=",")
val df = spark.read .option("header", "true") .option("inferSchema", "true") .option("delimiter", ",") .csv(s"${pathVolume}/${fileName}")
# 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 enviar dados de vários formatos de arquivo compatíveis.
Passo 5: visualização dos 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.
display(df)
display(df)
display(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.
Passo 6: salvar o DataFrame em uma tabela
Importante
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()
.df = df.withColumnRenamed("First Name", "First_Name") df.printSchema
val dfRenamedColumn = df.withColumnRenamed("First Name", "First_Name") // when modifying a DataFrame in Scala, you must assign it to a new variable dfRenamedColumn.printSchema()
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 do Unity Catalog usando a variável do nome da tabela que você definiu no início deste artigo.
df.write.mode("overwrite").saveAsTable(f"{path_table}" + "." + f"{table_name}")
dfRenamedColumn.write.mode("overwrite").saveAsTable(s"${pathTable}.${tableName}")
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 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.
Importar e visualizar notebooks de dados
Use um dos seguintes Notebooks para executar os passos 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.
Próximos passos
Para saber como adicionar dados adicionais à tabela existente a partir de um arquivo CSV, consulte Primeiros passos: ingestão e inserção de dados adicionais.
Para saber mais sobre como limpar e aprimorar dados, consulte Começar a usar: aprimorar e limpar dados.