Partilhar via


Gerenciar arquivos em volumes

Este artigo fornece exemplos para gerenciar arquivos em volumes do Catálogo Unity para várias interfaces de usuário, ferramentas, bibliotecas e idiomas.

O Databricks recomenda o uso de volumes para gerenciar todo o acesso a dados não tabulares no armazenamento de objetos na nuvem. Exemplos de dados não tabulares incluem o seguinte:

  • Arquivos de dados para ingestão, como CSV, JSON e Parquet.
  • Arquivos de texto, imagem e áudio para cargas de trabalho de ciência de dados, ML e IA.
  • Artefatos CSV ou JSON escritos pelo Azure Databricks para integração com sistemas externos.

Você pode usar volumes para armazenar arquivos como bibliotecas, scripts de inicialização e artefatos de compilação. Consulte Recomendações para arquivos em volumes e arquivos de espaço de trabalho.

Trabalhar com arquivos em volumes usando a interface do usuário do Catalog Explorer

O Catalog Explorer fornece opções para tarefas comuns de gerenciamento de arquivos armazenados com volumes do Catálogo Unity.

Para interagir com arquivos em um volume, faça o seguinte:

  1. No seu espaço de trabalho do Azure Databricks, clique em Ícone do catálogo Catálogo.
  2. Pesquise ou procure o volume com o qual deseja trabalhar e selecione-o.

Para obter detalhes sobre como criar e gerenciar volumes, consulte Criar e gerenciar volumes.

Carregar ficheiros para um volume

O botão Carregar para este volume abre uma caixa de diálogo para carregar ficheiros. Consulte Carregar arquivos para um volume do Catálogo Unity.

Os ficheiros carregados não podem exceder 5 GB.

Baixar arquivos de um volume

Para baixar arquivos de um volume, faça o seguinte:

  1. Selecione um ou mais arquivos.
  2. Clique em Download para baixar esses arquivos.

Excluir arquivos de um volume

Para excluir arquivos de um volume, faça o seguinte:

  1. Selecione um ou mais arquivos.
  2. Clique em Eliminar.
  3. Clique em Excluir para confirmar na caixa de diálogo exibida.

Criar um diretório em branco

Para criar um novo diretório em um volume, faça o seguinte:

  1. Clique no Menu de kebab à direita do nome do volume.
  2. Selecione Criar diretório.
  3. Insira um nome de diretório.
  4. Clique em Criar.

Excluir diretórios de um volume

Para excluir diretórios de um volume, faça o seguinte:

  1. Selecione um ou mais diretórios.
  2. Clique em Eliminar.
  3. Clique em Excluir para confirmar na caixa de diálogo exibida.

Tarefas de gerenciamento de arquivos da interface do usuário para volumes

Clique no menu Menu de kebab kebab ao lado de um nome de arquivo para executar as seguintes ações:

  • Copiar caminho
  • Transferir ficheiro
  • Eliminar ficheiro
  • Criar tabela

Criar uma tabela a partir de dados em um volume

O Azure Databricks fornece uma interface do usuário para criar uma tabela gerenciada do Catálogo Unity a partir de um arquivo, arquivos ou diretório de arquivos armazenados em um volume do Catálogo Unity.

Você deve ter CREATE TABLE permissões no esquema de destino e ter acesso a um SQL warehouse em execução.

  1. Selecione um ou mais arquivos ou um diretório. Os arquivos devem ter o mesmo layout de dados.

  2. Clique em Criar tabela. A caixa de diálogo Criar tabela a partir de volumes é exibida.

  3. Use a caixa de diálogo fornecida para revisar uma visualização dos dados e concluir as seguintes configurações:

    • Escolha Criar nova tabela ou Substituir tabela existente
    • Selecione o Catálogo e o Esquema de destino.
    • Especifique o nome da tabela.
    • (Opcional) Substitua nomes e tipos de colunas padrão ou opte por excluir colunas.

    Nota

    Clique em Atributos avançados para visualizar opções adicionais.

  4. Clique em Criar tabela para criar a tabela com os atributos especificados. Após a conclusão, o Catalog Explorer exibe os detalhes da tabela.

Trabalhar programaticamente com arquivos em volumes no Azure Databricks

Você pode ler e gravar arquivos em volumes de todos os idiomas suportados e editores de espaço de trabalho usando o seguinte formato:

/Volumes/catalog_name/schema_name/volume_name/path/to/files

Você interage com arquivos em volumes da mesma forma que interage com arquivos em qualquer local de armazenamento de objetos na nuvem. Isso significa que, se você atualmente gerencia código que usa URIs na nuvem, caminhos de montagem DBFS ou caminhos raiz DBFS para interagir com dados ou arquivos, você pode atualizar seu código para usar volumes.

Nota

Os volumes são usados apenas para dados não tabulares. O Databricks recomenda registrar dados tabulares usando tabelas do Unity Catalog e, em seguida, ler e gravar dados usando nomes de tabelas.

Ler e gravar dados em volumes

Você pode usar Apache Spark, pandas, Spark SQL e outras bibliotecas OSS para ler e gravar arquivos de dados em volumes.

Os exemplos a seguir demonstram a leitura de um arquivo CSV armazenado em um volume:

Python

df = spark.read.format("csv").load("/Volumes/catalog_name/schema_name/volume_name/data.csv")

display(df)

Pandas

import pandas as pd

df = pd.read_csv('/Volumes/catalog_name/schema_name/volume_name/data.csv')

display(df)

SQL

SELECT * FROM csv.`/Volumes/catalog_name/schema_name/volume_name/data.csv`

Comandos utilitários para arquivos em volumes

O Databricks fornece as seguintes ferramentas para gerenciar arquivos em volumes:

Para obter um exemplo de como usar essas ferramentas para baixar arquivos da Internet, descompactar arquivos e mover arquivos do armazenamento de blocos efêmeros para volumes, consulte Baixar dados da Internet.

Você também pode usar pacotes OSS para comandos do utilitário de arquivos, como o módulo Python os , conforme mostrado no exemplo a seguir:

import os

os.mkdir('/Volumes/catalog_name/schema_name/volume_name/directory_name')

Gerenciar arquivos em volumes a partir de ferramentas externas

O Databricks fornece um conjunto de ferramentas para gerenciar programaticamente arquivos em volumes de seu ambiente local ou sistemas integrados.

Comandos SQL para arquivos em volumes

O Azure Databricks dá suporte às seguintes palavras-chave SQL para interagir com arquivos em volumes:

Nota

Os blocos de anotações Databricks ou o editor de consultas suportam apenas o LIST comando.

Os seguintes conectores e drivers Databricks SQL suportam o gerenciamento de arquivos em volumes:

Gerencie arquivos em volumes com a CLI do Databricks

Use os subcomandos em databricks fs. Consulte o grupo de comandos fs.

Nota

A CLI do Databricks requer que o esquema dbfs:/ preceda todos os caminhos de volumes. Por exemplo, dbfs:/Volumes/catalog_name/schema_name/volume_name/path/to/data.

Gerencie arquivos em volumes com SDKs

Os seguintes SDKs oferecem suporte ao gerenciamento de arquivos em volumes:

Gerencie arquivos em volumes com a API REST

Use a API Arquivos para gerenciar arquivos em volumes.

Exemplos de API REST para arquivos em volumes

Os exemplos a seguir usam curl e a API REST do Databricks para executar tarefas de gerenciamento de arquivos em volumes.

O exemplo a seguir cria uma pasta vazia nomeada my-folder no volume especificado.

curl --request PUT "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/my-folder/" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}"

O exemplo a seguir cria um arquivo nomeado data.csv com os dados especificados no caminho especificado no volume.

curl --request PUT "https://${DATABRICKS_HOST}/api/2.0/fs/files/Volumes/main/default/my-volume/my-folder/data.csv?overwrite=true" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}" \
--header "Content-Type: application/octet-stream" \
--data-binary $'id,Text\n1,Hello World!'

O exemplo a seguir lista o conteúdo de um volume no caminho especificado. Este exemplo usa jq para formatar o JSON do corpo da resposta para facilitar a leitura.

curl --request GET "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}" | jq .

O exemplo a seguir lista o conteúdo de uma pasta em um volume no caminho especificado. Este exemplo usa jq para formatar o JSON do corpo da resposta para facilitar a leitura.

curl --request GET "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/my-folder" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}" | jq .

O exemplo a seguir imprime o conteúdo de um arquivo no caminho especificado em um volume.

curl --request GET "https://${DATABRICKS_HOST}/api/2.0/fs/files/Volumes/main/default/my-volume/my-folder/data.csv" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}"

O exemplo a seguir exclui um arquivo no caminho especificado de um volume.

curl --request DELETE "https://${DATABRICKS_HOST}/api/2.0/fs/files/Volumes/main/default/my-volume/my-folder/data.csv" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}"

O exemplo a seguir exclui uma pasta do volume especificado.

curl --request DELETE "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/my-folder/" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}"