Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
I volumi sono oggetti del catalogo Unity che consentono la governance su set di dati non tabulari. I volumi rappresentano un volume logico di archiviazione in una posizione di archiviazione di oggetti cloud. I volumi offrono funzionalità per l'accesso, l'archiviazione, la governance e l'organizzazione dei file.
Mentre le tabelle regolano i dati tabulari, i volumi regolano i dati non tabulari di qualsiasi formato, inclusi strutturati, semistrutturati o non strutturati.
Databricks consiglia di usare volumi per gestire l'accesso a tutti i dati non tabulari. I volumi sono disponibili in due tipi:
- Volumi gestiti: Per una risorsa di archiviazione semplice gestita da Databricks.
- Volumi esterni: Per aggiungere governance alle posizioni di archiviazione degli oggetti cloud esistenti.
Casi d'uso per i volumi
I casi d'uso per i volumi includono:
- Registrare le aree di destinazione per i dati non elaborati prodotti da sistemi esterni per supportare l'elaborazione nelle prime fasi delle pipeline ETL e di altre attività di ingegneria dei dati.
- Registrare i percorsi di gestione temporanea per l'inserimento. Ad esempio, usando istruzioni Auto Loader,
COPY INTOo CTAS (CREATE TABLE AS). - Fornire percorsi di archiviazione file per data scientist, analisti dei dati e ingegneri di Machine Learning da usare come parti dell'analisi esplorativa dei dati e di altre attività di data science.
- Concedere agli utenti di Azure Databricks l'accesso a file arbitrari prodotti e scaricati nell'archiviazione cloud da altri sistemi. Ad esempio, grandi raccolte di dati non strutturati (ad esempio immagini, audio, video e file PDF) acquisiti da sistemi di sorveglianza o dispositivi IoT o file di libreria (file con estensione JAR e file wheel Python) esportati da sistemi di gestione delle dipendenze locali o pipeline CI/CD.
- Archiviare i dati operativi, come file di log o file di checkpoint.
Per una demo sull'uso dei volumi, vedere Semplificare il recupero di file, immagini e dati con volumi del catalogo Unity.
Important
Non è possibile registrare i file nei volumi come tabelle nel catalogo unity. I volumi sono destinati ad essere usati solo per l'accesso ai dati basato sul percorso. Usare le tabelle quando si vogliono usare dati tabulari in Unity Catalog.
Volumi gestiti e esterni
I volumi gestiti ed esterni offrono esperienze quasi identiche quando si usano strumenti, interfacce utente e API di Azure Databricks. Le differenze principali riguardano la posizione di archiviazione, il ciclo di vita e il controllo:
| Caratteristica / Funzionalità | Volumi gestiti | Volumi esterni |
|---|---|---|
| Posizione di archiviazione | Creato all'interno dell'archiviazione gestita dall'uc per lo schema | Registrato in un percorso di archiviazione di oggetti cloud esistente |
| Ciclo di vita dei dati | Uc gestisce il layout e l'eliminazione (conservazione di 7 giorni all'eliminazione) | I dati rimangono nell'archiviazione cloud quando si rilascia il volume |
| Controllo di accesso | Tutto l'accesso passa attraverso l'uc | Uc gestisce l'accesso, ma gli strumenti esterni possono usare URI diretti |
| Migrazione necessaria? | NO | No: usare percorsi di archiviazione esistenti as-is |
| Caso d'uso tipico | Opzione più semplice per i carichi di lavoro solo Databricks | Accesso al sistema esterno e a Databricks misto |
Perché usare volumi gestiti?
I volumi gestiti offrono i vantaggi seguenti:
- Scelta predefinita per i carichi di lavoro di Databricks.
- Non è necessario gestire manualmente le credenziali cloud o i percorsi di archiviazione.
- Opzione più semplice per creare rapidamente posizioni di archiviazione regolamentate.
Perché usare volumi esterni?
I volumi esterni consentono di aggiungere la governance dei dati di Unity Catalog alle directory di archiviazione degli oggetti cloud esistenti. Alcuni casi d'uso per i volumi esterni includono quanto segue:
- Aggiunta della governance in cui si trovano già i dati, senza richiedere la copia dei dati.
- Governance dei file prodotti da altri sistemi a cui è necessario inserire o accedere da Azure Databricks.
- Governance dei dati prodotti da Azure Databricks a cui è necessario accedere direttamente dall'archiviazione di oggetti cloud da altri sistemi.
Databricks consiglia di usare volumi esterni per archiviare file di dati non tabulari letti o scritti da sistemi esterni oltre ad Azure Databricks. Unity Catalog non regola le letture e le scritture eseguite direttamente nell'archiviazione di oggetti cloud da sistemi esterni, quindi è necessario configurare criteri e credenziali aggiuntivi nell'account cloud in modo che i criteri di governance dei dati vengano rispettati all'esterno di Azure Databricks.
Percorso per l'accesso ai file in un volume
I volumi si trovano al terzo livello dello spazio dei nomi a tre livelli del catalogo Unity (catalog.schema.volume):
Il percorso per accedere ai volumi è lo stesso sia che si usi Apache Spark, SQL, Python o altri linguaggi e librerie. Questo comportamento differisce dai modelli di accesso legacy per i file nell'archiviazione a oggetti associata a un'area di lavoro di Azure Databricks.
Il percorso per accedere ai file nei volumi usa il formato seguente:
/Volumes/<catalog>/<schema>/<volume>/<path>/<file-name>
Azure Databricks supporta anche uno schema facoltativo dbfs:/ quando si usa Apache Spark, quindi funziona anche il percorso seguente:
dbfs:/Volumes/<catalog>/<schema>/<volume>/<path>/<file-name>
La /<catalog>/<schema>/<volume> parte del percorso esegue il mapping ai tre nomi degli oggetti del catalogo Unity per il file. Queste directory sono di sola lettura e gestite automaticamente dal catalogo unity. Non è possibile crearli o eliminarli con i comandi del file system.
Note
È anche possibile accedere ai dati in volumi esterni usando gli URI di archiviazione cloud.
Percorsi riservati per i volumi
Volumi introduce i seguenti percorsi riservati per l'accesso ai volumi:
dbfs:/Volumes/Volumes
Note
I percorsi sono anche riservati a potenziali errori di battitura per questi percorsi dalle API Apache Spark e dbutils, tra cui /volumes, /Volume, /volume, indipendentemente dal fatto che siano preceduti da dbfs:/. Il percorso /dbfs/Volumes è riservato, ma non può essere usato per accedere ai volumi.
I volumi sono supportati solo su Databricks Runtime 13.3 LTS e versioni successive. In Databricks Runtime 12.2 LTS e versioni successive le operazioni sui /Volumes percorsi potrebbero avere esito positivo, ma possono scrivere solo dati in dischi di archiviazione temporanei collegati ai cluster di calcolo anziché rendere persistenti i dati nei volumi di Unity Catalog come previsto.
Important
Se si dispone di dati preesistenti archiviati in un percorso riservato nella radice DBFS, inviare un ticket di supporto per ottenere l'accesso temporaneo a questi dati per spostarli in un'altra posizione.
Requisiti di calcolo
Quando si usano volumi, è necessario usare un'istanza di SQL Warehouse o un cluster che esegue Databricks Runtime 13.3 LTS o versione successiva, a meno che non si usino interfacce utente di Azure Databricks, ad esempio Esplora cataloghi.
Limitations
È necessario usare il calcolo abilitato per Unity Catalog per interagire con i volumi di Unity Catalog.
La tabella seguente illustra le limitazioni del volume di Unity Catalog in base alla versione di Databricks Runtime:
| Versione di Databricks Runtime | Limitations |
|---|---|
| Tutte le versioni supportate di Databricks Runtime |
|
| 14.3 LTS e versioni successive |
|
| 14.2 e versioni precedenti |
|
Passaggi successivi
Gli articoli seguenti forniscono altre informazioni sull'uso dei volumi: