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.
Questo articolo offre una panoramica delle connessioni di archiviazione cloud necessarie per lavorare con i dati usando Unity Catalog, oltre a informazioni sul modo in cui Il catalogo unity regola l'accesso all'archiviazione cloud e ai servizi cloud esterni.
In che modo Unity Catalog usa l'archiviazione cloud?
Databricks consiglia di usare Unity Catalog per gestire l'accesso a tutti i dati archiviati nell'archiviazione di oggetti cloud. Il catalogo Unity offre una suite di strumenti per configurare connessioni sicure all'archiviazione di oggetti cloud. Queste connessioni forniscono l'accesso per completare le seguenti azioni:
- Immettere dati non elaborati in un lakehouse.
- Creare e leggere tabelle gestite e volumi gestiti di dati non strutturati nell'archiviazione cloud gestita da Unity Catalog.
- Registrare o creare tabelle esterne contenenti dati tabulari e volumi esterni contenenti dati non strutturati nell'archiviazione cloud gestita tramite il provider di servizi cloud.
- Leggere e scrivere dati non strutturati ( volumi del catalogo Unity).
Per essere più specifico, Il catalogo di Unity usa l'archiviazione cloud in due modi principali:
- Percorsi di archiviazione predefiniti (o "gestiti") per tabelle e volumi gestiti (dati non strutturati e non tabulari) che crei in Databricks. Questi percorsi di archiviazione gestiti possono essere definiti a livello di metastore, catalogo o schema. È possibile creare posizioni di archiviazione gestite nel provider di servizi cloud, ma il loro ciclo di vita è completamente gestito dal catalogo unity.
- Sedi di archiviazione dove sono archiviati tabelle e volumi esterni. Si tratta di tabelle e volumi il cui accesso da Azure Databricks è gestito da Unity Catalog, ma il cui ciclo di vita dei dati e il layout dei file vengono gestiti usando il provider di servizi cloud e altre piattaforme dati. Tipicamente si utilizzano tabelle esterne per registrare grandi quantità dei propri dati esistenti in Azure Databricks o se è necessario anche l'accesso in scrittura ai dati utilizzando strumenti al di fuori di Azure Databricks.
Per altre informazioni su tabelle e volumi gestiti e esterni, vedere Introduzione alle tabelle di Azure Databricks e Informazioni sui volumi di Unity Catalog.
Avvertimento
Non concedere alle identità non del Catalogo Unity accesso a livello di archiviazione a tabelle o volumi gestiti dal Catalogo Unity. Ciò compromette la sicurezza e governance dei dati.
Concedere agli utenti, alle entità servizio o alle identità gestite l'accesso diretto ai contenitori di Azure Data Lake Storage che contengono dati gestiti da Unity Catalog bypassa Unity Catalog. Ciò espone i dati all'over-permissioning, all'esfiltrazione e all'accesso non autorizzato, complicando il controllo e aumentando il sovraccarico di gestione.
L'accesso diretto alle risorse di archiviazione non è supportato per le tabelle gestite di Unity Catalog.
Opzioni di archiviazione cloud supportate dal catalogo unity
Unity Catalog supporta le opzioni di archiviazione cloud seguenti per Azure Databricks.
Opzione di archiviazione cloud | Descrizione |
---|---|
Contenitori di Azure Data Lake Storage | Azure Data Lake Storage è appropriato per la maggior parte dei casi d'uso di Azure Databricks. Vedere Creare credenziali di archiviazione per la connessione ad Azure Data Lake Storage |
Bucket di AWS S3 | Azure Databricks supporta l'accesso in sola lettura multipiattaforma ai bucket S3. Vedere Creare credenziali di archiviazione per la connessione a AWS S3 (sola lettura). |
Bucket R2 di Cloudflare | Cloudflare R2 è destinato principalmente ai casi d'uso di condivisione delta in cui si vogliono evitare costi di uscita dei dati. Vedere Creare credenziali di archiviazione per la connessione a Cloudflare R2. |
Radice DBFS | La radice DBFS è una posizione di archiviazione cloud obsoleta. Anche se Databricks sconsiglia di archiviare i dati nell'archiviazione radice DBFS, l'area di lavoro potrebbe farlo a causa di procedure legacy. Vedere Creare un percorso esterno per i dati nella radice DBFS (legacy). |
In che modo Unity Catalog gestisce l'accesso all'archiviazione cloud?
Per gestire l'accesso all'archiviazione cloud sottostante che contiene tabelle e volumi, Unity Catalog usa un oggetto a protezione diretta denominato posizione esterna, che definisce un percorso di archiviazione cloud e le credenziali necessarie per accedere a tale posizione. Tali credenziali sono, a loro volta, definite in un oggetto a protezione diretta del catalogo Unity denominato credenziale di archiviazione. Concedendo e revocando l'accesso alle sicurezze delle posizioni esterne in Unity Catalog, si controlla l'accesso ai dati nella posizione di archiviazione cloud. Concedendo e revocando l'accesso agli elementi sicuri delle credenziali di archiviazione in Unity Catalog, è possibile controllare la possibilità di creare oggetti di posizione esterna.
Credenziali di archiviazione e percorsi esterni
Ecco qualche dettaglio in più su questi due oggetti che possono essere protetti:
- Una credenziale di archiviazione rappresenta un meccanismo di autenticazione e autorizzazione per l'accesso ai dati archiviati nel tenant cloud, ad esempio usando un'identità gestita di Azure o un'entità servizio per i contenitori di Azure Data Lake Storage o un token API R2 per i bucket Cloudflare R2. I privilegi concessi in Unity Catalog controllano quali utenti e gruppi possono usare le credenziali per definire posizioni esterne. L'autorizzazione per creare e usare le credenziali di archiviazione deve essere concessa solo agli utenti che devono creare oggetti posizione esterna. Per informazioni dettagliate, vedere i collegamenti nelle opzioni di archiviazione cloud supportate dal catalogo unity.
- Una posizione esterna combina un percorso di archiviazione cloud con credenziali di archiviazione che autorizzano l'accesso al percorso di archiviazione cloud. I privilegi concessi in Unity Catalog controllano quali utenti e gruppi possono accedere al percorso di archiviazione cloud definito dalla posizione esterna. L'autorizzazione per creare e usare percorsi esterni deve essere concessa solo agli utenti che devono creare tabelle esterne, volumi esterni o percorsi di archiviazione gestiti. Si veda Creare una posizione esterna per connettere la memorizzazione cloud ad Azure Databricks.
I percorsi esterni vengono usati in Unity Catalog sia per gli asset di dati esterni, ad esempio tabelle esterne e volumi esterni, sia per gli asset di dati gestiti, ad esempio tabelle gestite e volumi gestiti. Per altre informazioni sulla differenza tra asset di dati esterni e gestiti in Unity Catalog, vedere Introduzione alle tabelle di Azure Databricks e Informazioni sui volumi del catalogo Unity.
Per informazioni sulle procedure consigliate per l'uso di percorsi esterni, vedere Percorsi esterni.
Uso di posizioni esterne quando si creano tabelle e volumi esterni
Le tabelle esterne e i volumi esterni registrati in Unity Catalog sono essenzialmente puntatori ai dati nell'archiviazione cloud gestita all'esterno di Azure Databricks. Quando si crea una tabella esterna o un volume esterno in Unity Catalog, è necessario fare riferimento a un percorso di archiviazione cloud incluso in un oggetto percorso esterno a cui sono stati concessi privilegi adeguati. Per altre informazioni sulla differenza tra asset di dati esterni e gestiti in Unity Catalog, vedere Introduzione alle tabelle di Azure Databricks e Informazioni sui volumi del catalogo Unity. Per i privilegi, vedere Concedere autorizzazioni su una posizione esterna.
Uso di posizioni esterne quando si crea l'archiviazione gestita
Le tabelle gestite e i volumi gestiti sono completamente gestiti da Unity Catalog. Vengono archiviati per impostazione predefinita in un percorso di archiviazione gestito, che può essere definito a livello di metastore, catalogo o schema. Quando si assegna una posizione di archiviazione gestita a un metastore, un catalogo o uno schema, è necessario fare riferimento a un oggetto location esterno ed è necessario disporre di privilegi adeguati per usarlo. Si veda Specificare una posizione di archiviazione gestita nel catalogo Unity e nelle procedure consigliate per il catalogo Unity.
Accesso basato sul percorso ai dati nell'archiviazione cloud
Anche se Unity Catalog supporta l'accesso alle tabelle esterne e ai volumi esterni tramite percorsi usando gli URI di archiviazione cloud, Databricks consiglia agli utenti di leggere e scrivere tutte le tabelle del Catalogo Unity tramite i nomi di tabella e di accedere ai dati nei volumi tramite i percorsi /Volumes
. I volumi sono l'oggetto a protezione diretta che la maggior parte degli utenti di Azure Databricks deve usare per interagire direttamente con dati non tabulari nell'archiviazione di oggetti cloud. Consulta Che cosa sono i volumi di Unity Catalog?.
Avvertimento
Se si aggiornano i metadati della tabella esterna usando un client non Databricks o accedendo tramite percorso all'interno di Databricks, quei metadati non sincronizzano automaticamente lo stato con Unity Catalog. Databricks sconsiglia di eseguire tali aggiornamenti dei metadati, ma se ne esegui uno, è necessario eseguire MSCK REPAIR TABLE <table-name> SYNC METADATA
per aggiornare lo schema in Unity Catalog. Vedi REPAIR TABLE.
Flusso di lavoro per la gestione dell'accesso all'archiviazione cloud nel catalogo unity
Per gestire l'accesso all'archiviazione cloud tramite Il catalogo unity, eseguire le operazioni seguenti:
- Creare un oggetto di credenziali di archiviazione che contenga una credenziale cloud a lungo termine, come un'identità gestita di Azure o un principale del servizio, con accesso al percorso di archiviazione cloud.
- Creare un oggetto di posizione esterna che faccia riferimento al percorso di archiviazione e all'oggetto credenziale di archiviazione.
- Fare riferimento a un percorso incluso nel percorso esterno quando si creano tabelle esterne, volumi esterni o percorsi di archiviazione gestiti predefiniti. Può trattarsi del percorso esatto definito nella posizione esterna o in un sottopercorso.
Procedure consigliate per l'archiviazione cloud di Azure con il catalogo unity
Azure Databricks richiede l'uso di Azure Data Lake Storage come servizio di archiviazione di Azure per i dati elaborati in Azure Databricks usando la governance del catalogo Unity. Azure Data Lake Storage consente di separare i costi di archiviazione e calcolo e sfruttare il controllo di accesso con granularità fine fornito da Unity Catalog. Se i dati vengono archiviati in OneLake (data lake di Microsoft Fabric) ed elaborati da Databricks (ignorando il catalogo Unity), verranno addebitati i costi di archiviazione e calcolo in bundle. Ciò può comportare costi di circa 3 volte superiori per le letture e 1,6 volte superiori per le scritture rispetto ad Azure Data Lake Storage per l'archiviazione, la lettura e la scrittura di dati. Anche Azure Blob Storage è incompatibile con Unity Catalog.
Caratteristica / Funzionalità | Blob Storage di Azure | Azure Data Lake Storage | OneLake |
---|---|---|---|
Supportato dal catalogo Unity | X | ✓ | X |
Richiede un acquisto aggiuntivo di capacità del Fabric | X | X | ✓ |
Operazioni supportate dai motori esterni |
|
|
Per informazioni dettagliate, si veda la documentazione OneLake. |
Distribuzione | Regionale | Regionale | Generale |
Autenticazione | ID Entra firma di accesso condiviso | ID Entra firma di accesso condiviso | Entra ID |
Eventi di archiviazione | ✓ | ✓ | X |
Eliminazione morbida | ✓ | ✓ | ✓ |
Controllo di accesso | Controllo degli accessi in base al ruolo | Controllo degli accessi in base al ruolo (RBAC), Controllo degli accessi basato sugli attributi (ABAC), Lista di controllo degli accessi (ACL) | RBAC (solo tabella/cartella, ACL di collegamento rapido non supportati) |
Chiavi di crittografia | ✓ | ✓ | X |
Livelli di accesso | Archivio online | Caldo, fresco, freddo, archivio | Solo articoli di tendenza |
Passaggi successivi
- Creare credenziali di archiviazione per la connessione ad Azure Data Lake Storage
- Creare credenziali di archiviazione per la connessione a Cloudflare R2
- Creare credenziali di archiviazione per la connessione ad AWS S3 (sola lettura)
- Creare una posizione esterna per connettere l'archiviazione cloud ad Azure Databricks
- Specificare un percorso di archiviazione gestito nel Catalogo Unity
- Gestire le credenziali di archiviazione
- Gestire i luoghi esterni