Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Os volumes são objetos do Unity Catalog que permitem a governança sobre conjuntos de dados não tabulares. Os volumes representam um volume lógico de armazenamento em um local de armazenamento de objetos em nuvem. Os volumes fornecem recursos para acessar, armazenar, governar e organizar arquivos.
Enquanto as tabelas governam dados tabulares, os volumes governam dados não tabulares de qualquer formato, incluindo estruturados, semiestruturados ou não estruturados.
O Databricks recomenda o uso de volumes para controlar o acesso a todos os dados não tabulares. Os volumes estão disponíveis em dois tipos:
- Volumes gerenciados: Para armazenamento simples gerenciado por Databricks.
- Volumes externos: Para adicionar governança a locais de armazenamento de objetos na nuvem existentes.
Casos de uso para volumes
Os casos de uso para volumes incluem:
- Registrar áreas de aterrissagem para dados brutos produzidos por sistemas externos para apoiar seu processamento nos estágios iniciais de pipelines ETL e outras atividades de engenharia de dados.
- Registar os locais de paragem para ingestão. Por exemplo, usando instruções Auto Loader,
COPY INTOou CTAS (CREATE TABLE AS). - Forneça locais de armazenamento de arquivos para cientistas de dados, analistas de dados e engenheiros de aprendizado de máquina usarem como partes de sua análise exploratória de dados e outras tarefas de ciência de dados.
- Dê aos usuários do Azure Databricks acesso a arquivos arbitrários produzidos e depositados no armazenamento em nuvem por outros sistemas. Por exemplo, grandes coleções de dados não estruturados (como arquivos de imagem, áudio, vídeo e PDF) capturados por sistemas de vigilância ou dispositivos IoT, ou arquivos de biblioteca (JARs e arquivos de roda Python) exportados de sistemas locais de gerenciamento de dependência ou pipelines de CI/CD.
- Armazene dados operacionais, como arquivos de log ou de checkpoint.
Para obter uma demonstração do trabalho com volumes, consulte Simplificar a recuperação de arquivos, imagens e dados com volumes do catálogo Unity.
Important
Não é possível registrar arquivos em volumes como tabelas no Unity Catalog. Os volumes destinam-se apenas ao acesso a dados com base em caminhos. Use tabelas quando quiser trabalhar com dados tabulares no Unity Catalog.
Volumes gerenciados versus volumes externos
Os volumes gerenciados e externos fornecem experiências quase idênticas ao usar ferramentas, interfaces do usuário e APIs do Azure Databricks. As principais diferenças estão relacionadas ao local de armazenamento, ciclo de vida e controle:
| Característica | Volumes gerenciados | Volumes externos |
|---|---|---|
| Local de armazenamento | Criado dentro do armazenamento gerenciado por UC para o esquema | Registrado em um caminho de armazenamento de objetos na nuvem existente |
| Ciclo de vida dos dados | UC gerencia layout e exclusão (retenção de 7 dias na exclusão) | Os dados permanecem no armazenamento em nuvem quando você diminui o volume |
| Controlo de acessos | Todo o acesso passa pela UC | A UC controla o acesso, mas ferramentas externas podem usar URIs diretos |
| Migração necessária? | Não | Não—use caminhos de armazenamento existentes as-is |
| Caso de uso típico | Opção mais simples para cargas de trabalho somente Databricks | Databricks mistos e acesso ao sistema externo |
Por que usar volumes gerenciados?
Os volumes gerenciados têm os seguintes benefícios:
- Escolha padrão para cargas de trabalho do Databricks.
- Não há necessidade de gerenciar credenciais de nuvem ou caminhos de armazenamento manualmente.
- Opção mais simples para criar locais de armazenamento controlados rapidamente.
Por que usar volumes externos?
Os volumes externos permitem adicionar governança de dados do Unity Catalog aos diretórios de armazenamento de objetos na nuvem existentes. Alguns casos de uso para volumes externos incluem o seguinte:
- Adicionar governança onde os dados já residem, sem exigir cópia de dados.
- Governando arquivos produzidos por outros sistemas que devem ser ingeridos ou acessados pelo Azure Databricks.
- Governando dados produzidos pelo Azure Databricks que devem ser acessados diretamente do armazenamento de objetos na nuvem por outros sistemas.
O Databricks recomenda o uso de volumes externos para armazenar arquivos de dados não tabulares lidos ou gravados por sistemas externos, além do Azure Databricks. O Unity Catalog não controla leituras e gravações executadas diretamente no armazenamento de objetos na nuvem de sistemas externos, portanto, você deve configurar políticas e credenciais adicionais em sua conta de nuvem para que as políticas de governança de dados sejam respeitadas fora do Azure Databricks.
Caminho para acessar arquivos em um volume
Os volumes ficam no terceiro nível do namespace de três níveis do Unity Catalog (catalog.schema.volume):
O caminho para acessar volumes é o mesmo se você usar Apache Spark, SQL, Python ou outras linguagens e bibliotecas. Isso difere dos padrões de acesso herdados para arquivos no armazenamento de objetos vinculados a um espaço de trabalho do Azure Databricks.
O caminho para acessar arquivos em volumes usa o seguinte formato:
/Volumes/<catalog>/<schema>/<volume>/<path>/<file-name>
O Azure Databricks também dá suporte a um esquema opcional dbfs:/ ao trabalhar com o Apache Spark, portanto, o caminho a seguir também funciona:
dbfs:/Volumes/<catalog>/<schema>/<volume>/<path>/<file-name>
A /<catalog>/<schema>/<volume> parte do caminho é mapeada para os três nomes de objeto do Unity Catalog para o arquivo. Esses diretórios são somente leitura e gerenciados automaticamente pelo Unity Catalog. Não é possível criá-los ou excluí-los com comandos do sistema de arquivos.
Note
Você também pode acessar dados em volumes externos usando URIs de armazenamento em nuvem.
Caminhos reservados para volumes
Volumes apresenta os seguintes caminhos reservados usados para acessar volumes:
dbfs:/Volumes/Volumes
Note
Os caminhos também estão reservados para possíveis erros de digitação nesses caminhos das APIs do Apache Spark e dbutils, incluindo /volumes, /Volume, /volume, independentemente de serem precedidos ou não por dbfs:/. O caminho /dbfs/Volumes também é reservado, mas não pode ser usado para acessar volumes.
Os volumes só são suportados no Databricks Runtime 13.3 LTS ou versões superiores. No Databricks Runtime 12.2 LTS e em versões anteriores, as operações nos caminhos de /Volumes podem ser bem-sucedidas, mas elas só podem gravar dados em discos de armazenamento efémeros ligados a clusters de computação, em vez de persistirem dados em volumes do "Unity Catalog", como esperado.
Important
Se você tiver dados pré-existentes armazenados em um caminho reservado na raiz DBFS, registre um tíquete de suporte para obter acesso temporário a esses dados e movê-los para outro local.
Requisitos de computação
Ao trabalhar com volumes, você deve usar um SQL warehouse ou um cluster que execute o Databricks Runtime 13.3 LTS ou superior, a menos que esteja usando as interfaces do usuário do Azure Databricks, como o Gerenciador de Catálogos.
Limitations
Você deve usar computação compatível com o Unity Catalog para interagir com os volumes do Unity Catalog.
A tabela a seguir descreve as limitações de volume do Unity Catalog com base na versão do Databricks Runtime:
| Versão do Databricks Runtime | Limitations |
|---|---|
| Todas as versões suportadas do Databricks Runtime |
|
| 14.3 LTS e versões posteriores |
|
| 14.2 e inferior |
|
Próximos passos
Os seguintes artigos fornecem mais informações sobre como trabalhar com volumes: