Che cos'è OpenSharing?

Questa pagina presenta OpenSharing in Azure Databricks, la piattaforma di condivisione dei dati sicura che consente di condividere i dati e gli asset di intelligenza artificiale in Azure Databricks con utenti esterni all'organizzazione, indipendentemente dal fatto che usino Azure Databricks. OpenSharing è anche la base per Databricks Marketplace, un forum aperto per lo scambio di prodotti dati e Clean Rooms, un ambiente sicuro e protetto dalla privacy in cui più parti possono collaborare sui dati aziendali sensibili.

OpenSharing è disponibile anche come progetto open source che è possibile usare per condividere tabelle Delta da altre piattaforme.

Come funziona OpenSharing?

OpenSharing è un protocollo aperto sviluppato da Databricks per la condivisione sicura dei dati con altre organizzazioni. Funziona indipendentemente dalle piattaforme di elaborazione usate dalle organizzazioni.

Esistono alcuni modi per condividere i dati con OpenSharing:

  1. Il protocollo di condivisione Databricks-to-Databricks, che consente di condividere i dati e gli asset di intelligenza artificiale dall'area di lavoro abilitata per Unity Catalog con utenti che hanno anche accesso a un'area di lavoro databricks abilitata per Unity Catalog.

    Questo approccio usa il server OpenSharing integrato in Azure Databricks. Supporta alcune funzionalità di OpenSharing non supportate negli altri protocolli, tra cui la condivisione dei notebook, la condivisione dei volumi di Unity Catalog, la condivisione dei modelli di Intelligenza artificiale del catalogo Unity, la governance dei dati di Unity Catalog, il controllo e il rilevamento dell'utilizzo per provider e destinatari. L'integrazione con Unity Catalog semplifica la configurazione e la governance sia per i provider che per i destinatari e migliora le prestazioni.

    Vedi Che cos'è il protocollo OpenSharing Databricks-to-Databricks?.

  2. Il protocollo di condivisione da Databricks a Open, che consente di condividere i dati tabulari gestiti in un'area di lavoro databricks abilitata per Unity Catalog con utenti su qualsiasi piattaforma di elaborazione.

    Questo approccio usa il server OpenSharing integrato in Azure Databricks ed è utile quando si gestiscono i dati usando Unity Catalog e si vuole condividerlo con gli utenti che non usano Databricks o non hanno accesso a un'area di lavoro di Databricks abilitata per Unity Catalog. L'integrazione con Unity Catalog sul lato provider semplifica la configurazione e la governance per i provider.

    Vedi Che cos'è il protocollo di condivisione OpenSharing da Databricks a Open Sharing?.

  3. Implementazione gestita dal cliente del server OpenSharing open source, che consente di condividere da qualsiasi piattaforma a qualsiasi piattaforma, indipendentemente dal fatto che Databricks o meno.

    La documentazione Azure Databricks non illustra le istruzioni per la configurazione del proprio server OpenSharing. Vedere il progetto open source.

  4. Il connettore BDC (SAP Business Data Cloud) per Azure Databricks, che consente di condividere dati tra l'area di lavoro abilitata per Unity Catalog e un account SAP BDC.

    Questo approccio usa SAP BDC Connector, che usa OpenSharing per l'accesso in tempo reale e senza copia ai prodotti dati SAP BDC.

    Consulta Che cos'è il SAP BDC Connector per Azure Databricks?.

Condivisioni, fornitori e destinatari

I concetti principali alla base di OpenSharing in Azure Databricks sono condivisioni, fornitori e destinatari.

Che cos'è una condivisione?

In OpenSharing una condivisione è una raccolta di sola lettura di tabelle e partizioni di tabella che un provider desidera condividere con uno o più destinatari. Se il destinatario usa un'area di lavoro databricks abilitata per Unity Catalog, è anche possibile includere file di notebook, visualizzazioni (incluse visualizzazioni dinamiche che limitano l'accesso a livello di riga e colonna), volumi del catalogo Unity e modelli di Catalogo Unity in una condivisione.

È possibile aggiungere o rimuovere tabelle, tabelle di streaming, tabelle Iceberg gestite, viste, viste materializzate, volumi, modelli e file di notebook da una condivisione in qualsiasi momento ed è possibile assegnare o revocare l'accesso di destinatari dati a una condivisione in qualsiasi momento.

In un'area di lavoro di Azure Databricks abilitata per Unity Catalog, una condivisione è un oggetto di sicurezza registrato in Unity Catalog. Se si rimuove una condivisione dal metastore del catalogo Unity, tutti i destinatari di tale condivisione perdono la possibilità di accedervi.

Vedere Creare condivisioni per OpenSharing.

Che cos'è un provider?

Un provider è un'entità che condivide i dati con un destinatario. Se si è un provider e si vuole sfruttare il server OpenSharing integrato di Databricks e gestire condivisioni e destinatari tramite Unity Catalog, è necessario disporre di almeno un'area di lavoro Azure Databricks abilitata per Unity Catalog. Non è necessario eseguire la migrazione di tutte le aree di lavoro esistenti a Unity Catalog. Puoi semplicemente creare una nuova area di lavoro abilitata per Unity Catalog per le tue esigenze di Open Sharing.

Se un destinatario si trova in un'area di lavoro Databricks abilitata per Unity Catalog, il provider è anche un oggetto sicuro di Unity Catalog che rappresenta l'organizzazione del provider e associa l'organizzazione con il set di condivisioni.

Che cos'è un destinatario?

Un destinatario è un'entità che riceve azioni da un provider. In Unity Catalog, una condivisione è un oggetto proteggibile che rappresenta un'organizzazione e lo associa a una credenziale o a un identificatore di condivisione sicura che consente all'organizzazione di accedere a una o più condivisioni.

In qualità di provider di dati (condivisore), è possibile definire più destinatari per qualsiasi metastore di Unity Catalog, ma se si desidera condividere dati da più metastore con un determinato utente o gruppo di utenti, è necessario definire il destinatario separatamente per ogni metastore. Un destinatario può avere accesso a più condivisioni.

Se un provider elimina un destinatario dal loro metastore di Unity Catalog, il destinatario perde l'accesso a tutte le condivisioni a cui poteva accedere in precedenza.

Vedi Creare destinatari di dati per OpenSharing (condivisione da Databricks a Databricks).

Condivisione da Databricks a Open rispetto alla condivisione da Databricks a Databricks

Questa sezione descrive i due protocolli per la condivisione da un'area di lavoro di Databricks abilitata per Unity Catalog.

Note

Questa sezione presuppone che il provider si trova in un'area di lavoro di Azure Databricks abilitata per Unity Catalog. Per informazioni sulla configurazione di un server OpenSharing open source da condividere da una piattaforma non Databricks o da un'area di lavoro non Unity Catalog, vedere il progetto open source.

Il modo in cui un provider usa OpenSharing in Azure Databricks dipende da chi condividono i dati con:

  • La condivisione aperta consente di condividere i dati con qualsiasi utente, indipendentemente dal fatto che abbiano o meno accesso ad Azure Databricks.
  • Databricks-to-Databricks sharing consente di condividere dati con utenti Azure Databricks la cui area di lavoro è collegata a un metastore del catalogo Unity diverso da quello dell'utente. Databricks-to-Databricks supporta anche la condivisione di notebook, volumi e modelli, che non è disponibile nella condivisione Databricks-to-Open.

Che cos'è open OpenSharing?

Se si vogliono condividere dati con utenti esterni all'area di lavoro Azure Databricks, indipendentemente dal fatto che usino Databricks, è possibile usare OpenSharing aperto per condividere i dati in modo sicuro. I provider di dati gestiscono l'autenticazione con il destinatario di condivisione usando uno dei metodi seguenti:

  • Si genera un token di connessione di lunga durata e lo si condivide in modo sicuro con il destinatario. Usano il token per autenticarsi e ottenere accesso in lettura alle tabelle che hai incluso nelle condivisioni a cui hai dato loro accesso.
  • Si usa la federazione OIDC (Open ID Connect), concedendo token OAuth di Databricks di breve durata al destinatario in cambio di token JWT passati dal provider di identità (IdP) del destinatario a Databricks.

I destinatari possono accedere ai dati condivisi usando molti strumenti di calcolo e piattaforme, tra cui:

  • Azure Databricks
  • Apache Spark
  • Pandas
  • Power BI

Per un elenco completo dei connettori OpenSharing e informazioni su come usarli, vedere la documentazione di OpenSharing .

Vedi anche Che cos'è il protocollo di condivisione aperta OpenSharing da Databricks a Open?.

Che cos'è Databricks-to-Databricks OpenSharing?

Per condividere dati con gli utenti che hanno un'area di lavoro di Databricks abilitata per Unity Catalog, è possibile usare Databricks-to-Databricks OpenSharing. La condivisione da Databricks a Databricks consente di condividere dati con gli utenti in altri account Databricks, sia che si trovino in AWS, Azure o GCP. È anche un ottimo modo per condividere in modo sicuro i dati tra diversi metastore di Unity Catalog nel proprio account Databricks. Si noti che non è necessario usare OpenSharing per condividere i dati tra aree di lavoro collegate allo stesso metastore del catalogo Unity, perché in questo scenario è possibile usare Il catalogo Unity stesso per gestire l'accesso ai dati tra aree di lavoro.

Uno dei vantaggi della condivisione da Databricks a Databricks è che il destinatario della condivisione non necessita di un token per accedere alla condivisione e il provider non deve gestire i token dei destinatari. La sicurezza della connessione di condivisione, inclusa la verifica dell'identità, l'autenticazione e il controllo, viene gestita interamente tramite OpenSharing e la piattaforma Databricks. Un altro vantaggio è la possibilità di condividere file di notebook di Databricks, volumi del catalogo Unity e modelli di Catalogo Unity.

Vedere anche Che cos'è il protocollo OpenSharing Databricks-to-Databricks?.

In che modo gli amministratori del provider configurano OpenSharing?

Questa sezione offre una panoramica del modo in cui i provider possono abilitare OpenSharing e avviare la condivisione da un'area di lavoro di Azure Databricks abilitata per il catalogo Unity. Per OpenSharing open source, vedere il progetto open source.

La condivisione dei dati da Databricks a Databricks tra i metastore di Unity Catalog nello stesso account è sempre abilitata. Se si è un provider che vuole abilitare OpenSharing per condividere i dati con le aree di lavoro di Databricks in altri account o client non Databricks, un amministratore dell'account Azure Databricks o un metastore esegue i passaggi di configurazione seguenti (a livello generale):

  1. Abilitare OpenSharing per il metastore del catalogo Unity che gestisce i dati da condividere.

    Note

    Non è necessario abilitare OpenSharing nel metastore se si intende usare OpenSharing per condividere i dati solo con gli utenti di altri metastore di Unity Catalog nell'account. La condivisione da metastore a metastore all'interno di un singolo account Azure Databricks è abilitata per impostazione predefinita.

    Vedere Abilitare OpenSharing in un metastore.

  2. Creare una condivisione che includa gli asset di dati registrati nel metastore di Unity Catalog.

    Se si condivide con un destinatario non Databricks (noto come condivisione da Databricks a Open) è possibile includere tabelle nel formato Delta. Se si prevede di usare la condivisione da Databricks a Databricks, è anche possibile aggiungere visualizzazioni, volumi del catalogo Unity, modelli di Catalogo Unity e file di notebook a una condivisione.

    Vedere Creare condivisioni per OpenSharing.

  3. Creare un destinatario.

    Vedi Creare destinatari di dati per OpenSharing (condivisione da Databricks a Databricks).

    Se il destinatario non è un utente di Databricks o non ha accesso a un'area di lavoro di Databricks abilitata per Unity Catalog, è necessario usare la condivisione da Databricks a Open. È possibile generare credenziali basate su bearer-token per il destinatario o usare la federazione OIDC.

    Se il destinatario ha accesso a un'area di lavoro di Databricks abilitata per Unity Catalog, è possibile usare la condivisione da Databricks a Databricks e non sono necessarie credenziali basate su token. È necessario richiedere un identificatore di condivisione dal destinatario e usarlo per stabilire la connessione sicura.

    Tip

    Usare se stessi come destinatario di prova per provare il processo di configurazione.

  4. Concedi al destinatario l'accesso a una o più condivisioni.

    Vedere Gestire l'accesso alle condivisioni dati OpenSharing (per i provider).

    Note

    Questo passaggio può essere eseguito anche da un utente non amministratore con privilegi USE SHARE, USE RECIPIENT e SET SHARE PERMISSION. Vedere Informazioni di riferimento sui privilegi del catalogo Unity.

  5. Inviare al destinatario le informazioni necessarie per connettersi alla condivisione (solo condivisione da Databricks a Open).

    Per la condivisione da Databricks a Open tramite token bearer, utilizza un canale sicuro per inviare al destinatario un collegamento di attivazione che gli consenta di scaricare le credenziali basate su token. Vedere Inviare al destinatario le informazioni di connessione.

    Per la condivisione da Databricks a Open usando la federazione di token OIDC, inviare l'URL del portale generato. Vedere Abilitare la federazione OIDC (Open ID Connect) per i destinatari OpenSharing.

    Per la condivisione da Databricks a Databricks, i dati inclusi nella condivisione diventano disponibili nell'area di lavoro Databricks del destinatario non appena si concede loro l'accesso alla condivisione.

Ora, il destinatario può accedere ai dati condivisi.

In che modo i destinatari accedono ai dati condivisi?

I destinatari accedono agli asset di dati condivisi in formato di sola lettura. I file di notebook condivisi sono di sola lettura, ma possono essere clonati e quindi modificati ed eseguiti nell'area di lavoro del destinatario esattamente come qualsiasi altro notebook.

L'accesso sicuro dipende dal modello di condivisione:

Ogni volta che il provider di dati aggiorna tabelle dati o volumi nel proprio account Databricks, gli aggiornamenti vengono visualizzati quasi in tempo reale nel sistema del destinatario. Per informazioni su come accedere ai dati condivisi con l'utente usando OpenSharing, vedere Accedere ai dati condivisi con l'utente usando OpenSharing (per i destinatari).

Come si tiene traccia di chi condivide e accede ai dati condivisi?

I fornitori di dati negli spazi di lavoro di Azure Databricks con Unity Catalog abilitato possono utilizzare la registrazione di controllo e le tabelle di sistema di Azure Databricks per monitorare la creazione e la modifica delle condivisioni e dei destinatari e possono monitorare l'attività dei destinatari sulle condivisioni. Vedere Controllare e monitorare la condivisione dei dati.

I destinatari dei dati che usano dati condivisi in un'area di lavoro di Databricks possono usare la registrazione di controllo e le tabelle di sistema di Databricks per comprendere chi accede ai dati. Vedere Controllare e monitorare la condivisione dei dati.

Condivisione di volumi

È possibile condividere i volumi attraverso il flusso di condivisione Databricks-to-Databricks. Vedi Aggiungere volumi a una condivisione (per i provider) e Leggere i dati condivisi tramite OpenSharing Databricks-to-Databricks (per i destinatari).

Condivisione di modelli

È possibile condividere modelli usando il flusso di condivisione da Databricks a Databricks. Vedere Aggiungere modelli a una condivisione (per i provider) e Leggere i dati condivisi tramite Databricks-to-Databricks OpenSharing (per i destinatari).

Condivisione di notebook

È possibile usare OpenSharing per condividere file di notebook usando il flusso di condivisione da Databricks a Databricks. Vedere Aggiungere file di notebook a una condivisione (per i provider) e Leggere notebook condivisi (per i destinatari).

Limitazione dell'accesso a livello di riga e colonna durante la condivisione delle visualizzazioni

È possibile condividere visualizzazioni dinamiche che limitano l'accesso a determinati dati di tabella in base alle proprietà del destinatario. Vedere Aggiungere visualizzazioni dinamiche a una condivisione per filtrare righe e colonne.

OpenSharing e streaming

OpenSharing supporta Apache Spark Structured Streaming. Un provider può condividere una tabella con la cronologia o una tabella di streaming in modo che un destinatario possa usarla come origine Structured Streaming, elaborando i dati condivisi in modo incrementale con bassa latenza. I destinatari possono anche eseguire query di spostamento cronologico Delta Lake sulle tabelle condivise con la cronologia.

Per informazioni su come condividere tabelle con la cronologia, vedere Aggiungere tabelle a una condivisione. Per informazioni su come usare tabelle condivise come origini di streaming, vedere Eseguire query su una tabella usando Apache Spark Structured Streaming (per i destinatari della condivisione da Databricks a Databricks) o Accedere a una tabella condivisa usando Spark Structured Streaming (per i destinatari dei dati di condivisione da Databricks a Open).

Per informazioni su come condividere tabelle di streaming, vedere Aggiungere tabelle di streaming a una condivisione.

Vedere anche Concetti di Structured Streaming.

Matrice di supporto delle funzionalità Delta Lake

OpenSharing supporta la maggior parte delle funzionalità delta Lake quando si condivide una tabella. Questa matrice di supporto elenca:

  • Funzionalità delta che richiedono versioni specifiche di Databricks Runtime, il connettore OpenSharing Spark open source o il connettore open source OpenSharing Python.
  • Funzionalità parzialmente supportate.
Feature Provider Destinatario di Databricks Destinatario di open source
Vettori di cancellazione
  • La condivisione di tabelle con questa funzionalità è disponibile in anteprima pubblica.
  • Le tabelle devono essere condivise con la cronologia.
  • Databricks Runtime 14.1+ per le query in modalità batch
  • Databricks Runtime 14.2+ per CDF e query di streaming
  • Connettore Spark OpenSharing 3.1+
  • Connettore OpenSharing Python 1.1.0+
  • Power BI v2.132.908.0+
Mappatura delle colonne
  • La condivisione di tabelle con questa funzionalità è disponibile in anteprima pubblica.
  • Le tabelle devono essere condivise con la cronologia.
  • Databricks Runtime 14.1+ per le query in modalità batch
  • Databricks Runtime 14.2+ per CDF e query di streaming
  • Connettore Spark OpenSharing 3.1+
  • Supportato con limitazioni nel connettore Python OpenSharing
  • Power BI v2.132.908.0+
Formato Uniform
  • La condivisione di tabelle con questa funzionalità è disponibile in anteprima pubblica.
  • Le tabelle devono essere condivise con la cronologia.
  • Databricks Runtime 14.1+ per le query in modalità batch
  • Databricks Runtime 14.2+ per CDF e query di streaming
  • Connettore Spark OpenSharing 3.1+
  • Connettore OpenSharing Python 1.1.0+
  • Power BI v2.132.908.0+
Checkpoint V2 Supportato con limitazioni Supportato con limitazioni Supportato con limitazioni
TimestampNTZ Sostenuto Databricks Runtime 14.1+ Connettore Spark OpenSharing 3.3+
Raggruppamento liquido Supportato con limitazioni Supportato con limitazioni Supportato con limitazioni

Domande frequenti su OpenSharing

Di seguito sono riportate le domande frequenti su OpenSharing.

È necessario il catalogo Unity per usare OpenSharing?

No, non è necessario che Unity Catalog condivida (come provider) o consumi dati condivisi (come destinatario). Tuttavia, Unity Catalog offre vantaggi come il supporto per la condivisione di asset non tabulari e di asset di intelligenza artificiale, una governance pronta all'uso, la semplicità e le prestazioni delle query.

I provider possono condividere i dati in due modi:

  • Metti gli asset da condividere sotto la gestione di Unity Catalog e condividili usando il server OpenSharing predefinito di Azure Databricks.

    Non è necessario eseguire la migrazione di tutti gli asset al catalogo Unity. È necessaria una sola area di lavoro di Azure Databricks abilitata per Unity Catalog per gestire gli asset da condividere. In alcuni account, le nuove aree di lavoro vengono abilitate automaticamente per Unity Catalog. Consulta Introduzione al Catalogo Unity.

  • Implementare il server di condivisione da Databricks a Open per condividere i dati, senza necessariamente usare l'account Azure Databricks.

I destinatari possono utilizzare i dati in due modi:

  • Senza un'area di lavoro di Databricks. Usa i connettori open source OpenSharing disponibili per molte piattaforme di dati, tra cui Power BI, pandas e Apache Spark open source. Vedere Leggere i dati condivisi con OpenSharing Databricks-to-Open sharing con token di connessione e il progetto OpenSharing open source.

  • In un'area di lavoro di Databricks. Le aree di lavoro dei destinatari non necessitano di essere abilitate per il Catalogo Unity, ma esistono vantaggi in termini di governance, semplicità e prestazioni se lo sono.

    Le organizzazioni destinatari che vogliono questi vantaggi non devono eseguire la migrazione di tutti gli asset al catalogo Unity. È necessaria una sola area di lavoro Azure Databricks abilitata per unity Catalog per gestire gli asset condivisi con l'utente. In alcuni account, le nuove aree di lavoro vengono abilitate automaticamente per Unity Catalog. Consulta Introduzione al Catalogo Unity.

Per i destinatari, vedere Leggere i dati condivisi con OpenSharing Databricks-to-Open sharing con token di connessione e Leggere i dati condivisi con Databricks-to-Databricks OpenSharing (per i destinatari).

È necessario essere un cliente di Databricks per usare OpenSharing?

No, OpenSharing è un protocollo aperto. È possibile condividere dati non Databricks con destinatari in qualsiasi piattaforma dati. I provider possono configurare un server OpenSharing aperto da condividere da qualsiasi piattaforma di elaborazione. I destinatari possono usare dati condivisi usando open source connettori OpenSharing per molti prodotti dati, tra cui Power BI, pandas e open source Spark.

Tuttavia, l'uso di OpenSharing in Azure Databricks, in particolare la condivisione da un'area di lavoro abilitata per Unity Catalog, presenta molti vantaggi.

Per dettagli, vedere la prima domanda in queste domande frequenti.

Come faccio a sostenere e verificare i costi di OpenSharing?

Il costo di OpenSharing comporta la condivisione e l'accesso a visualizzazioni, viste materializzate e tabelle di streaming. Queste sono le potenziali fonti di costi per la condivisione:

  • Costo di calcolo, addebitato da Azure Databricks.
  • Costi di archiviazione e trasferimento di rete (in uscita), addebitati dal fornitore di archiviazione o da Azure Databricks se il provider usa SecureConnect.
  • Costo di origine di calcolo esterno, quando si condividono schemi e tabelle esterne.

Il metodo in base al quale viene eseguito il calcolo e chi ne paga dipende da diversi fattori:

  • Tipo di computazione del destinatario
  • Se la condivisione si verifica all'interno dello stesso account Azure Databricks o tra account

La tabella seguente descrive il metodo di fatturazione per la condivisione e l'accesso alle visualizzazioni tramite OpenSharing:

Calcolo destinatario Relazione tra account Chi paga SKU usato per la fatturazione Metodo di accesso
Databricks Serverless Any Recipient* Serverless del destinatario Il destinatario riceve l'accesso diretto ai dati sottostanti
Databricks Classico Stesso account Recipient* Un classico per il destinatario Il destinatario riceve l'accesso diretto ai dati sottostanti
Databricks Classico Account diverso Recipient Serverless del provider interattivo Il provider esegue il filtro
Connettori di condivisione da Databricks a Open Any Provider Serverless del provider interattivo Il provider esegue il filtro

* Quando si usa OpenSharing con un destinatario utilizzando il calcolo serverless in un account diverso o con un destinatario nello stesso account, non è previsto alcun addebito incrementale. Ciò significa che non sono previsti costi aggiuntivi per materializzare l'asset di dati.

Quando si condividono tabelle esterne (Beta), la materializzazione viene sempre eseguita e archiviata sul lato del provider. Per le tabelle Iceberg esterne, la materializzazione viene eseguita dal lato del provider quando si condivide con un destinatario che non utilizza un client Iceberg. I provider potrebbero visualizzare un addebito aggiuntivo attribuito all'archiviazione predefinita usata per la materializzazione dei dati. Non sono previsti costi di calcolo per le tabelle esterne durante la versione beta.

L'attribuzione della fatturazione può anche essere interrogata tramite il riferimento della tabella di sistema Billable usage e il riferimento della tabella di sistema OpenSharing materialization history. Se il destinatario paga per l'attribuzione, solo il destinatario può visualizzare il record associato nella tabella di sistema. Per le query di esempio, vedere Query di esempio.

OpenSharing comporta costi di uscita?

OpenSharing all'interno di un'area non comporta alcun costo in uscita. A differenza di altre piattaforme di condivisione dati, OpenSharing non richiede la replica dei dati. Questo modello presenta molti vantaggi, ma significa che il fornitore del cloud può addebitare costi di uscita ai dati quando si condividono i dati tra cloud o aree. Azure Databricks supporta la condivisione da Cloudflare R2, che non comporta costi in uscita e fornisce altri strumenti e raccomandazioni per monitorare ed evitare costi in uscita. Vedere Monitorare e gestire i costi di uscita di OpenSharing (per i provider).

Tuttavia, se il provider usa SecureConnect, il trasferimento dei dati viene fatturato da Azure Databricks anziché dal fornitore del cloud.

I destinatari hanno accesso diretto ai dati sottostanti in viste condivise, viste materializzate e tabelle di streaming?

Per le viste condivise, le viste materializzate e le tabelle di streaming, il destinatario dei dati ha accesso diretto se una delle condizioni seguenti è vera:

  • Il destinatario usa calcolo serverless o calcolo classico non dedicato sullo stesso account di Azure Databricks.
  • Il destinatario usa il calcolo serverless in un account di Azure Databricks diverso.

In caso contrario, i dati vengono materializzati e filtrati sul lato del provider.

La materializzazione dei dati viene archiviata nella posizione di archiviazione principale dell'asset di dati condiviso.

Quando si condividono risorse materializzate, l'elaborazione gestisce la richiesta applicando i filtri necessari e creando una cache di materializzazione temporanea nella memoria di archiviazione del provider. Questi dati filtrati vengono recapitati ai destinatari usando URL di breve durata prefirmati, garantendo l'accesso sicuro mantenendo al tempo stesso il controllo di accesso da provider a destinatario.

I provider possono revocare l'accesso ai destinatari?

Sì, l'accesso ai destinatari può essere revocato su richiesta e a livelli di granularità specificati. È possibile negare l'accesso dei destinatari a condivisioni specifiche e indirizzi IP specifici, filtrare i dati tabulari per un destinatario, revocare i token dei destinatari ed eliminare completamente i destinatari. Vedere Revocare l'accesso dei destinatari a una condivisione e Creare destinatari di dati per OpenSharing (condivisione da Databricks a Databricks).

Non è sicuro usare URL prefirmato?

OpenSharing usa URL prefirmate per fornire un accesso temporaneo a un file nell'archiviazione di oggetti. Vengono assegnati solo ai destinatari che hanno già accesso ai dati condivisi. Sono sicuri perché sono di breve durata e non espandono il livello di accesso oltre a ciò che i destinatari sono già stati concessi.

I token usati nel protocollo opensharing databricks-to-Open sharing sono protetti?

Poiché OpenSharing abilita la condivisione multipiattaforma, a differenza di altre piattaforme di condivisione dati disponibili, il protocollo di condivisione richiede un token aperto. I provider possono garantire la sicurezza dei token configurando la durata del token, impostando i controlli di rete e revocando l'accesso su richiesta. Inoltre, il token non espande il livello di accesso oltre quello che i destinatari hanno già ricevuto. Vedere Considerazioni sulla sicurezza per i token.

Se preferisci non usare i token per gestire l'accesso alle condivisioni ai destinatari, dovresti usare la condivisione da Databricks a Databricks o contattare il team dell'account Databricks per discutere delle alternative.

Qual è la differenza tra Lakeflow Connect e OpenSharing?

OpenSharing consente di condividere in modo sicuro i dati live tra piattaforme, cloud e aree. Databricks consiglia l'inserimento usando connettori gestiti perché vengono ridimensionati per supportare volumi di dati elevati, query a bassa latenza e limiti delle API di terze parti. Tuttavia, è possibile eseguire query sui dati senza spostarli.

Quando si ha una scelta tra connettori gestiti e OpenSharing, scegliere OpenSharing per gli scenari seguenti:

  • Limitazione della duplicazione dei dati.
  • Esecuzione di query sui dati più aggiornati possibili.

Limitazioni

Supporto per il formato e le funzionalità delle tabelle

Requisiti di formato:

  • I dati tabulari devono essere in formato tabella Delta o Iceberg gestito . È possibile convertire facilmente le tabelle Parquet in Delta e viceversa. Vedete CONVERT TO DELTA.
  • OpenSharing può leggere solo le tabelle UniForm come tabelle Delta.

Tabelle non supportate:

  • I provider non possono condividere tabelle che usano clustering liquido con filtri di partizione.
  • I provider non possono condividere tabelle R2 con checkpoint V2.
  • I provider non possono condividere tabelle con regole di confronto abilitate.
  • I provider non possono condividere tabelle con filtri di riga o maschere di colonna.
  • I provider non possono condividere SHALLOW CLONE tabelle. Azure Databricks non supporta l'assegnazione di URL per i log Delta che fanno riferimento a percorsi assoluti.
  • I provider non possono condividere tabelle Iceberg gestite con client Iceberg esterni. Vedere Aggiungere tabelle Iceberg gestite a una condivisione e Abilitare la condivisione ai client Iceberg esterni.
  • I vincoli di chiave esterna non sono disponibili nelle tabelle condivise.

Solo condivisione da Databricks a Databricks

Gli asset seguenti possono essere condivisi solo usando il flusso di condivisione Databricks-to-Databricks:

Views

Streaming

  • OpenSharing non supporta la modifica responseFormat durante l'esecuzione di un'origine di streaming o durante i riavvii di streaming.

Metadati del destinatario

  • Le tabelle in information_schema da un catalogo condiviso riflettono i metadati archiviati nel catalogo unity. Questi metadati vengono aggiornati dal provider solo quando si esegue direttamente una query sulla tabella condivisa o si esegue un comando, ad esempio DESCRIBE o REFRESH FOREIGN. Fino ad allora, information_schema potrebbe apparire obsoleto rispetto ai dati del provider.

Limiti tecnici e risorse

  • Esistono dei limiti al numero di file nei metadati consentiti per una tabella condivisa. Per altre informazioni, vedere Errori di superamento del limite di risorse.
  • Gli schemi denominati information_schema non possono essere importati in un metastore del catalogo Unity, perché tale nome dello schema è riservato nel catalogo unity.

Vedere anche Matrice di supporto delle funzionalità delta Lake.

Le eliminazioni a cascata ignorano la protezione della condivisione

L'eliminazione di un oggetto padre, ad esempio un catalogo o uno schema, attiva un'eliminazione a catena dei relativi oggetti figlio, anche se tali oggetti figlio sono inclusi nelle condivisioni attive. Dopo che un'eliminazione a catena rimuove un asset, non è possibile aggiungere nuovamente un asset con lo stesso nome alla condivisione.

Per evitare questo problema, rimuovere gli asset da tutte le condivisioni prima di eliminare gli oggetti padre.

Quote di risorse

Azure Databricks applica quote di risorse a tutti gli oggetti a protezione diretta OpenSharing. Queste quote sono elencate in Limiti delle risorse. Se si prevede di superare questi limiti di risorse, contattare il team dell'account Azure Databricks.

È possibile monitorare l'utilizzo delle quote usando le API delle quote delle risorse di Unity Catalog. Consulta Monitora le quote di utilizzo delle risorse di Unity Catalog.

Risorse aggiuntive