Pular para o conteúdo principal

Começar: Ingerir e inserir dados adicionais

Este get começar artigos orienta o senhor no uso do Databricks Notebook para ingerir um arquivo CSV contendo dados adicionais de nomes de bebês no volume Unity Catalog e, em seguida, importar os novos dados de nomes de bebês para uma tabela existente usando Python, Scala e R.

important

Este artigo do Get Começar baseia-se no Get Começar: Importar e visualizar dados do CSV a partir de um Notebook. O senhor deve concluir as etapas desse artigo para concluir este artigo. Para obter o Notebook completo sobre como começar artigos, consulte Import and visualize data Notebook.

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égio USE SCHEMA no esquema pai e o privilégio USE 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 Começar com Databricks ou consulte o administrador do site Databricks.
dica

Para obter um Notebook completo para esse artigo, consulte Ingerir dados adicionais no Notebook.

Etapa 1: Criar um novo Notebook

Para criar um notebook no seu workspace, clique em Novo ícone Novo na barra lateral e clique em Notebook . Um notebook em branco será aberto no workspace.

Para saber mais sobre como criar e gerenciar o Notebook, consulte gerenciar o Notebook.

Etapa 2: Definir variáveis

Nesta etapa, o senhor define as variáveis a serem usadas no Notebook de exemplo que criou neste artigo.

  1. 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 valor table_name por um nome de tabela de sua escolha. O senhor salvará os dados do nome do bebê nessa tabela mais adiante neste artigo.

  2. 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>"
file_name = "new_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

Etapa 3: Adicione um novo arquivo CSV de dados ao volume do Unity Catalog

Este o passo cria um DataFrame chamado df com um novo nome de bebê para 2022 e, em seguida, salva esses dados em um novo arquivo CSV em seu volume do Unity Catalog.

nota

Essa etapa simula a adição de novos dados anuais aos dados existentes carregados em relação aos anos anteriores. Em seu ambiente de produção, esses dados incrementais seriam armazenados na nuvem.

  1. Copie e cole o código a seguir na nova célula vazia do notebook. Esse código cria o DataFrame com dados adicionais sobre o nome do bebê e, em seguida, grava esses dados em um arquivo CSV em seu volume do Unity Catalog.
Python
data = [[2022, "CARL", "Albany", "M", 42]]

df = spark.createDataFrame(data, schema="Year int, First_Name STRING, County STRING, Sex STRING, Count int")
# display(df)
(df.coalesce(1)
.write
.option("header", "true")
.mode("overwrite")
.csv(f"{path_volume}/{file_name}"))
  1. Pressione Shift+Enter para executar a célula e depois passar para a próxima célula.

Etapa 4: Carregar dados no DataFrame a partir do arquivo CSV

nota

Esta etapa simula o carregamento de dados do armazenamento em nuvem.

  1. Copie e cole o código a seguir em uma célula vazia do notebook. Esse código carrega os dados dos novos nomes de bebês em um novo DataFrame do arquivo CSV.
Python
df1 = spark.read.csv(f"{path_volume}/{file_name}",
header=True,
inferSchema=True,
sep=",")
display(df1)
  1. Pressione Shift+Enter para executar a célula e depois passar para a próxima célula.

Etapa 5: inserir na tabela existente

  1. Copie e cole o código a seguir em uma célula vazia do notebook. Esse código acrescenta os dados dos novos nomes de bebês do DataFrame à tabela existente.
Python
df.write.mode("append").insertInto(f"{path_table}.{table_name}")
display(spark.sql(f"SELECT * FROM {path_table}.{table_name} WHERE Year = 2022"))
  1. Pressione Ctrl+Enter para executar a célula.

Ingerir dados adicionais Notebook

Use um dos seguintes Notebooks para executar as etapas 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.

Ingest and insert additional data using Python

Open notebook in new tab

Próximas etapas

Para saber mais sobre a limpeza e o aprimoramento de dados, consulte Get Começar: Aprimorar e limpar dados.

Recurso adicional