Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este tutorial explica como usar um notebook do Azure Databricks para importar dados de um arquivo CSV que contém dados de nome de bebê de health.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 Introdução ao Catálogo do Unity.
- O usuário também deve ter o privilégio
WRITE VOLUMEem um volume, o privilégioUSE SCHEMAno esquema pai e o privilégioUSE CATALOGno catálogo pai. - Você deve ter permissão para usar um recurso de computação existente ou criar um recurso de computação. Consulte Computação 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_namepor um nome de tabela à sua escolha. Você salvará os dados do nome do bebê nesta tabela mais adiante neste artigo.Pressione
Shift+Enterpara 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 pathScala (linguagem de programação)
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 pathR
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.csvde health.data.ny.gov para o volume do Catálogo do Unity usando o comando Databricks dbutuils.Pressione
Shift+Enterpara 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 (linguagem de programação)
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
dfdo arquivo CSV.Pressione
Shift+Enterpara 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 (linguagem de programação)
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 (linguagem de programação)
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 Nameestá 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.printSchemaScala (linguagem de programação)
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 (linguagem de programação)
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 (linguagem de programação)
Importar dados do CSV usando Scala
R
Importar dados do CSV usando R
Próximas etapas
- Para saber mais sobre técnicas exploratórias de análise de dados (EDA), consulte Tutorial: técnicas de EDA usando blocos de anotações do Databricks.
- Para saber mais sobre como criar um pipeline de ETL (extrair, transformar e carregar), consulte Tutorial: Criar um pipeline de ETL com pipelines declarativos do Lakeflow Spark e tutorial: criar um pipeline etl com o Apache Spark na plataforma do Databricks