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. Consulte Criar e trabalhar com volumes.

Renomear ou excluir o volume

Clique no menu kebab Menu Kebab ao lado de upload to this volume para ver as opções de Renomear ou Excluir o volume.

Definir permissões em um volume

O senhor pode usar o Catalog Explorer para gerenciar as permissões em um volume ou atribuir um novo principal como proprietário de um volume. Consulte gerenciar privilégios em Unity Catalog e gerenciar a propriedade de objetos em Unity Catalog .

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.

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

Clique no menu kebab 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 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.

O senhor pode usar a interface de usuário fornecida para fazer as seguintes seleções:

  • Escolha entre Criar nova tabela ou Sobrescrever tabela existente

  • Selecione o catálogo e o esquema de destino.

  • Especifique o nome da tabela.

  • 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 Create table (Criar tabela ) para criar a tabela no local especificado. 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:

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 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:

  • PUT

  • GET

  • LIST

  • DELETE

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:

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:

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}"