gerenciar arquivos em volumes
Este artigo fornece exemplos de gerenciamento de arquivos em Unity Catalog volumes para várias interfaces de usuário, ferramentas, biblioteca e idiomas.
Databricks recomenda o uso de volumes para gerenciar todo o acesso a dados não tabulares no armazenamento de objetos do site cloud. 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 pela Databricks para integração com sistemas externos.
O senhor pode usar volumes para armazenar arquivos como biblioteca, script de inicialização e artefatos de compilação. Consulte Recomendações para arquivos em volumes e arquivos workspace .
Trabalhar com arquivos em volumes usando a UI do Catalog Explorer
O Catalog Explorer oferece opções para tarefas comuns de gerenciamento de arquivos armazenados em volumes do site Unity Catalog.
Para interagir com os arquivos em um volume, faça o seguinte:
Em seu site Databricks workspace, clique em Catalog.
Pesquise ou procure o volume com o qual o senhor deseja trabalhar e selecione-o.
Para obter detalhes sobre como criar e gerenciar volumes, consulte Criar e gerenciar volumes.
Fazer upload de arquivos para um volume
O botão upload to this volume abre uma caixa de diálogo para upload arquivos. Consulte Fazer upload de arquivos para um volume do Unity Catalog.
Os arquivos de upload não podem exceder 5 GB.
Baixar arquivos de um volume
Para fazer download de arquivos de um volume, faça o seguinte:
Selecione um ou mais arquivos.
Clique em download para download esses arquivos.
Excluir arquivos de um volume
Para excluir arquivos de um volume, faça o seguinte:
Selecione um ou mais arquivos.
Clique em Excluir.
Clique em Excluir para confirmar na caixa de diálogo que aparece.
Criar um diretório em branco
Para criar um novo diretório em um volume, faça o seguinte:
Clique em à direita do nome do volume.
Selecione Criar diretório.
Digite um nome de diretório.
Clique em Criar.
Excluir diretórios de um volume
Para excluir diretórios de um volume, faça o seguinte:
Selecione um ou mais diretórios.
Clique em Excluir.
Clique em Excluir para confirmar na caixa de diálogo que aparece.
Tarefa de gerenciamento de arquivos da interface do usuário para volumes
Clique no menu kebab ao lado do nome de um arquivo para executar as seguintes ações:
Copiar caminho
Baixar arquivo
Excluir arquivo
CREATE TABLE
Criar uma tabela a partir de dados em um volume
Databricks fornece uma interface de usuário para criar uma tabela gerenciar Unity Catalog a partir de um arquivo, arquivos ou diretório de arquivos armazenados em um volume Unity Catalog.
O senhor deve ter permissões CREATE TABLE
no esquema de destino e ter acesso a um site em execução SQL warehouse.
Selecione um ou mais arquivos ou um diretório. Os arquivos devem ter a mesma disposição de dados.
Clique em Criar tabela. A caixa de diálogo Criar tabela a partir de volumes é exibida.
Use a caixa de diálogo fornecida para revisar uma visualização prévia dos dados e concluir as seguintes configurações:
Escolha entre Criar nova tabela ou Sobrescrever tabela existente
Selecione o catálogo e o esquema de destino.
Especifique o nome da tabela.
(Opcional) Substitua os nomes e tipos de coluna do site default ou opte por excluir colunas.
Observação
Clique em Advanced attributes (Atributos avançados ) para view opções adicionais.
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 Databricks
O senhor pode ler e gravar arquivos em volumes de todos os idiomas compatíveis e editores do site workspace usando o seguinte formato:
/Volumes/catalog_name/schema_name/volume_name/path/to/files
O senhor interage com arquivos em volumes da mesma forma que interage com arquivos em qualquer local de armazenamento de objetos do site cloud. Isso significa que, se o senhor atualmente gerencia código que usa cloud URIs, DBFS mount paths ou DBFS root paths para interagir com dados ou arquivos, pode atualizar seu código para usar volumes.
Observação
Os volumes são usados apenas para dados não tabulares. Databricks recomenda o registro tabular uso de dados Unity Catalog tables and then reading and writing uso de dados table names.
Ler e gravar dados em volumes
O senhor 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:
df = spark.read.format("csv").load("/Volumes/catalog_name/schema_name/volume_name/data.csv")
display(df)
import pandas as pd
df = pd.read_csv('/Volumes/catalog_name/schema_name/volume_name/data.csv')
display(df)
SELECT * FROM csv.`/Volumes/catalog_name/schema_name/volume_name/data.csv`
utilidades comando para arquivos em volumes
O Databricks fornece as seguintes ferramentas para gerenciar arquivos em volumes:
O submódulo
dbutils.fs
em Databricks utilidades. Consulte Utilidades do sistema de arquivos (dbutils.fs).A mágica
%fs
, que é um alias paradbutils.fs
.A magia
%sh
, que permite o comando bash em volumes.
Para obter um exemplo de uso dessas ferramentas para download arquivos da Internet, descompactar arquivos e mover arquivos do armazenamento em bloco efêmero para volumes, consulte download de dados da Internet.
O senhor também pode usar o pacote OSS para utilidades de arquivo comando, 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
A Databricks oferece um conjunto de ferramentas para gerenciar arquivos em volumes de forma programática a partir de seu ambiente local ou de sistemas integrados.
SQL comando para arquivos em volumes
O Databricks suporta as seguintes palavras-chave SQL para interagir com arquivos em volumes:
Observação
Databricks O bloco de notas ou o editor de consultas só suportam o comando LIST
.
Os seguintes conectores e drivers do Databricks SQL suportam o gerenciamento de arquivos em volumes:
O conector Databricks SQL para Python. Consulte gerenciar arquivos em Unity Catalog volumes.
O Databricks SQL Driver for Go. Consulte gerenciar arquivos em Unity Catalog volumes.
O driver Databricks SQL para Node.js. Consulte gerenciar arquivos em Unity Catalog volumes.
O driver JDBC da Databricks. Veja como gerenciar arquivos em volumes Unity Catalog com o driver Databricks JDBC .
O driver ODBC da Databricks. Veja como gerenciar arquivos em volumes Unity Catalog com o driver Databricks ODBC .
Gerenciar arquivos em volumes com o site Databricks CLI
Use os subcomandos em databricks fs
. Consulte o grupo fs comando.
Observação
A CLI do Databricks exige que o esquema dbfs:/
preceda todos os caminhos de volumes. Por exemplo, dbfs:/Volumes/catalog_name/schema_name/volume_name/path/to/data
.
Gerenciar arquivos em volumes com SDKs
Os SDKs a seguir oferecem suporte ao gerenciamento de arquivos em volumes:
O SDK da Databricks para Python. Use os métodos disponíveis em WorkspaceClient.files. Para obter exemplos, consulte gerenciar arquivos em Unity Catalog volumes.
O SDK da Databricks para Java. Use os métodos disponíveis em WorkspaceClient.files. Para obter exemplos, consulte gerenciar arquivos em Unity Catalog volumes.
O SDK da Databricks para Go. Use os métodos disponíveis em WorkspaceClient.files. Para obter exemplos, consulte gerenciar arquivos em Unity Catalog volumes.
Gerenciar arquivos em volumes com o site REST API
Use a API Files para gerenciar arquivos em volumes.
Exemplos de API REST para arquivos em volumes
Os exemplos a seguir usam curl
e o endereço Databricks REST API para executar a tarefa de gerenciamento de arquivos em volumes.
O exemplo a seguir cria uma pasta vazia chamada 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 chamado 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 de um volume um arquivo no caminho especificado.
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}"