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.
Observação
Se você estiver usando o Databricks Free Edition, selecione a guia Python para todos os exemplos de código neste tutorial. O Free Edition não dá suporte a R ou Scala. Além disso, a versão Free Edition restringe o acesso de saída à Internet, portanto, você deve carregar o arquivo CSV pela interface do usuário do workspace em vez de baixá-lo com código. Consulte a Etapa 3 para obter instruções detalhadas.
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. Azure Databricks Free Edition e os workspaces de avaliação gratuita têm o Unity Catalog habilitado por padrão.
- Você deve ter o privilégio
WRITE VOLUMEem um volume, o privilégioUSE SCHEMAno esquema pai e o privilégioUSE CATALOGno catálogo pai. Os usuários do Free Edition têm esses privilégios no catálogo do workspace edefaultno esquema por padrão. - 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 Azure 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. Você precisa dos nomes de um catálogo, esquema e volume do Unity Catalog.
Dica
Se você não souber seus nomes de catálogo e esquema, clique no Catálogo na barra lateral. O catálogo do espaço de trabalho compartilha um nome com seu espaço de trabalho e está listado no painel do catálogo. Expanda-o para ver os esquemas disponíveis. Os usuários de versão gratuita e avaliação gratuita podem usar o catálogo de espaços de trabalho e o esquema
default.
Se você não tiver um volume, crie um executando o seguinte comando em uma célula de notebook (substitua <catalog_name> e <schema_name> pelos valores):
CREATE VOLUME IF NOT EXISTS <catalog_name>.<schema_name>.my_volume
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. Use um dos seguintes métodos:
- Carregar usando a interface do usuário do workspace – use esse método se você estiver no Databricks Free Edition ou se o download de código na opção B falhar com um erro de rede. O Free Edition e outros ambientes de computação sem servidor restringem o acesso à Internet de saída, portanto, você deve carregar o arquivo do computador local.
- Baixar usando código – use esse método se o ambiente de computação tiver acesso à Internet de saída.
Opção A: Fazer upload usando a interface do usuário (UI) do workspace
- No computador local, abra health.data.ny.gov/api/views/jxy9-yhdk/rows.csv no navegador. O arquivo é baixado em seu computador como
rows.csv. - Localize o arquivo baixado em seu computador e renomeie-o de
rows.csvparababy_names.csv. Isso corresponde àfile_namevariável que você definiu na Etapa 2. - Volte para o workspace do Azure Databricks. Na barra lateral, clique em
Novo > Adicionar ou carregue dados. - Clique em Carregar arquivos em um volume.
- Clique em navegar e selecione o
baby_names.csvarquivo, ou arraste-o e solte-o na área de carregamento. - Em Volume de destino, selecione o volume especificado na Etapa 2.
- Após a conclusão do upload, retorne ao bloco de anotações e continue com a Etapa 4.
Para obter mais detalhes sobre como carregar arquivos, consulte Carregar arquivos em um volume do Catálogo do Unity.
Opção B: baixar usando o código
Copie e cole o código a seguir na nova célula vazia do notebook. Esse código copia o arquivo
rows.csvdo site health.data.ny.gov no volume do Unity Catalog usando o comando Databricks dbutils.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 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