Was ist Delta Sharing?
In diesem Artikel wird Delta Sharing in Azure Databricks vorgestellt, die sichere Plattform für die gemeinsame Nutzung von Daten, mit der Sie Daten und KI-Ressourcen (künstliche Intelligenz) in Azure Databricks mit Benutzern außerhalb Ihres Unternehmens teilen können, unabhängig davon, ob diese Benutzer Databricks verwenden oder nicht. Delta Sharing ist auch die Grundlage für Databricks Marketplace, ein offenes Forum für den Austausch von Datenprodukten, und Clean Rooms, eine sichere und auf Datenschutz ausgelegte Umgebung, where mehrere Parteien an vertraulichen Unternehmensdaten zusammenarbeiten können.
Delta Sharing ist auch als Open-Source-Projekt verfügbar, mit dem Sie Delta tables von anderen Plattformen freigeben können.
Hinweis
Informationen darüber, wie Sie auf Daten zugreifen, die mit Delta Sharing für Sie freigegeben wurden, finden Sie unter Zugriff auf Daten, die mithilfe von Delta Sharing für Sie freigegeben wurden (für recipients).
Wie funktioniert Delta Sharing?
Delta Sharing ist ein von Databricks entwickeltes offenes Protokoll für eine sichere Datenfreigabe für andere Organisationen, unabhängig von den verwendeten Computingplattformen.
Es gibt drei Möglichkeiten zum Freigeben von Daten mithilfe von Delta Sharing:
Das Protokoll für die Databricks-zu-Databricks-Freigabe, mit dem Sie Daten und KI-Ressourcen aus Ihrem Arbeitsbereich mit Unity Catalog-Unterstützung für Benutzer freigeben können, die ebenfalls Zugriff auf einen Databricks-Arbeitsbereich mit Unity Catalog-Unterstützung haben.
Bei diesem Ansatz wird der Delta-Freigabeserver verwendet, der in Azure Databricks integriert ist. Er unterstützt einige Delta Sharing-Features, die in den anderen Protokollen nicht unterstützt werden, darunter Notebookfreigabe, Unity Catalog-Volumefreigabe, Unity Catalog-KI-Modellfreigabe, Unity Catalog-Datengovernance, Überwachung und Nutzungsnachverfolgung sowohl für providers als auch recipients. Die Integration in Unity Catalog vereinfacht die Einrichtung und Governance für providers und recipients und verbessert die Leistung.
Informationen dazu finden Sie unter Freigeben von Daten mithilfe des Databricks-zu-Databricks-Delta Sharing-Protokolls (für providers).
Das offene Freigabeprotokoll von Databricks, mit dem Sie tabellarische Daten, die Sie in einem Unity-Catalog-fähigen Databricks-Arbeitsbereich verwalten, unabhängig von der Computerplattform mit Benutzern teilen können.
Dieser Ansatz verwendet den Delta-Freigabeserver, der in Azure Databricks integriert ist und nützlich ist, wenn Sie Daten mithilfe von Unity Catalog verwalten und mit Benutzern teilen möchten, die Databricks nicht verwenden oder keinen Zugriff auf einen Unity-Catalog-aktivierten Databricks-Arbeitsbereich haben. Die Integration in Unity Catalog auf der Anbieterseite vereinfacht die Einrichtung und Governance für providers.
Weitere Informationen finden Sie unter Freigeben von Daten mithilfe des Delta Sharing-Protokolls für offene Freigaben (für providers).
Eine vom Kunden verwaltete Implementierung des Open-Source-Delta-Freigabeservers, mit dem Sie von jeder Plattform auf eine beliebige Plattform freigeben können, ganz gleich, ob Databricks oder nicht.
Die Dokumentation zu Azure Databricks enthält keine Anweisungen zum Einrichten Ihres eigenen Delta-Freigabeservers. Siehe github.com/delta-io/delta-sharing.
Shares, providersund recipients
Die primären Konzepte, die Delta Sharing in Azure Databricks zugrunde liegen, sind shares, providers und recipients.
Was ist eine Freigabe?
Bei Delta Sharing ist eine Freigabe eine schreibgeschützte Sammlung von tables und table-Partitionen, die ein Anbieter für einen oder mehrere recipients freigeben möchte. Wenn Ihr Empfänger einen Databricks-Arbeitsbereich mit Unity Catalog-Unterstützung verwendet, können Sie auch Notebookdateien, views (einschließlich dynamischer views, die den Zugriff auf der Zeilen- und column-Ebene einschränken), Unity Catalog-volumes und Unity Catalog-Modelle in eine Freigabe einschließen.
Sie können einer Freigabe jederzeit tables, views, volumes, Modelle und Notebookdateien hinzufügen oder daraus remove, und Sie können den Datenempfängerzugriff auf eine Freigabe jederzeit zuweisen oder revoke.
In einem Azure Databricks-Arbeitsbereich mit Unity Catalog-Unterstützung ist eine Freigabe ein sicherungsfähiges Objekt, das in Unity Catalog registriert ist. Wenn Sie eine Freigabe aus Ihrem Unity Catalog-Metastore remove, verlieren alle recipients dieser Freigabe die Möglichkeit, darauf zuzugreifen.
Weitere Informationen finden Sie unter Erstellen und Verwalten von shares für Delta Sharing.
Was ist ein Anbieter?
Ein Anbieter ist eine Entität, die Daten für einen Empfänger shares. Wenn Sie ein Anbieter sind und den integrierten Databricks Delta Sharing-Server nutzen möchten, um shares und recipients mit Unity Catalogzu verwalten, benötigen Sie mindestens einen Azure Databricks-Arbeitsbereich, der für Unity Catalogaktiviert ist. Sie müssen nicht alle vorhandenen Arbeitsbereiche zu Unity Catalogmigrieren. Sie können einfach einen neuen Arbeitsbereich mit Unity Catalog-Unterstützung für Ihre Delta Sharing-Bedürfnisse erstellen.
Wenn sich ein Empfänger in einem Databricks-Arbeitsbereich mit Unity Catalog-Unterstützung befindet, ist der Anbieter auch ein sicherungsfähiges Unity Catalog-Objekt, das die Anbieterorganisation darstellt und dieser Organisation eine set von shares zuordnet.
Was ist ein Empfänger?
Ein Empfänger ist eine Entität, die shares von einem Anbieter erhält. In Unity Catalog ist eine Freigabe ein sicherungsfähiges Objekt, das eine Organisation darstellt und sie mit Anmeldedaten oder einer identifier für die sichere Freigabe verknüpft, die dieser Organisation den Zugriff auf eine oder mehrere shares ermöglicht.
Als Datenanbieter (Sharer) können Sie mehrere recipients für einen bestimmten Unity Catalog Metastore definieren. Wenn Sie Daten aus mehreren metastores für einen bestimmten Benutzer oder eine bestimmte Benutzergruppe freigeben möchten, müssen Sie den Empfänger jedoch separat für jeden Metaspeicher definieren. Ein Empfänger kann Zugriff auf mehrere shares haben.
Wenn ein Anbieter einen Empfänger aus dem Unity-Catalog-Metastore löscht, verliert dieser Empfänger den Zugriff auf alle shares, auf die er zuvor zugreifen konnte.
Weitere Informationen finden Sie unter Erstellen und Verwalten von Daten-recipients für Delta Sharing.
Offene Freigabe im Vergleich zur Databricks-zu-Databricks-Freigabe
In diesem Abschnitt werden die beiden Protokolle für die Freigabe aus einem Databricks-Arbeitsbereich mit Unity Catalog-Unterstützung beschrieben.
Hinweis
In diesem Abschnitt wird davon ausgegangen, dass sich der Anbieter in einem Unity-Catalog-aktivierten Azure Databricks-Arbeitsbereich befindet. Informationen zum Einrichten eines Open-Source-Servers für Delta Sharing für die Freigabe von einer anderen Plattform als Databricks oder einem Arbeitsbereich ohne Unity Catalog-Unterstützung finden Sie unter github.com/delta-io/delta-sharing.
Die Art und Weise, wie ein Anbieter Delta Sharing in Azure Databricks verwendet, hängt davon ab, mit wem er Daten teilt:
- Mit einer offenen Freigabe können Sie Daten für jeden Benutzer freigeben, unabhängig davon, ob dieser Zugriff auf Azure Databricks hat oder nicht.
- Mit einer Databricks-zu-Databricks-Freigabe können Sie Daten für Azure Databricks-Benutzer freigeben, deren Arbeitsbereich mit einem anderen Unity Catalog-Metastore als Ihrem verbunden ist. Databricks-zu-Databricks unterstützt auch die Notebook-, Volume- und Modellfreigabe, die bei einer offenen Freigabe nicht verfügbar ist.
Was ist die offene Freigabe von Delta Sharing?
Sie können die offene Freigabe von Delta Sharing verwenden, wenn Sie Daten für Benutzer außerhalb Ihres Azure Databricks-Arbeitsbereichs sicher freigeben möchten – unabhängig davon, ob diese Benutzer Databricks verwenden oder nicht. Als Datenanbieter generate Sie ein Token und geben es auf sichere Weise für den Empfänger frei. Dieser verwendet das Token, um sich zu authentifizieren und Lesezugriff auf die tables zu get, die Sie in die shares eingefügt haben, auf die Sie dem Empfänger Zugriff gewähren.
Recipients kann auf die freigegebenen Daten über zahlreiche Computertools und Plattformen zugreifen, darunter:
- Azure Databricks
- Apache Spark
- Pandas
- Power BI
Eine vollständige list von Delta Sharing-Connectors und Informationen zu deren Verwendung finden Sie in der Dokumentation zu Delta Sharing.
Weitere Informationen finden Sie unter Freigeben von Daten mithilfe des Delta Sharing-Protokolls für offene Freigaben (für providers).
Was ist die Databricks-zu-Databricks-Freigabe von Delta Sharing?
Wenn Sie Daten für Benutzer freigeben möchten, die über einen Databricks-Arbeitsbereich verfügen, der Unity Catalog unterstützt, können Sie die Databricks-zu-Databricks-Freigabe per Delta Sharing verwenden. Mit der Databricks-zu-Databricks-Freigabe können Sie Daten für Benutzer in anderen Databricks-Konten freigeben, unabhängig davon, ob sie sich in AWS, Azure oder GCP befinden. Es ist auch eine großartige Möglichkeit, Daten in verschiedenen Unity Catalog-metastores in Ihrem eigenen Databricks-Konto sicher freizugeben. Beachten Sie, dass es nicht notwendig ist, Delta Sharing zu verwenden, um Daten zwischen Arbeitsbereichen freizugeben, die mit demselben Unity Catalog-Metastore verbunden sind, da Sie in diesem Szenario Unity Catalog selbst verwenden können, um den Zugriff auf Daten über Arbeitsbereiche hinweg zu verwalten.
Ein Vorteil der Databricks-to-Databricks-Freigabe ist, dass der Empfänger der Freigabe kein Token benötigt, um auf die Freigabe zuzugreifen, und dass der Anbieter keine Empfänger-Tokens verwalten muss. Die Sicherheit der Freigabeverbindung, einschließlich sämtlicher Vorgänge zur Verifizierung, Authentifizierung und Überwachung von Identitäten, wird vollständig über Delta Sharing und die Databricks-Plattform verwaltet. Ein weiterer Vorteil ist die Möglichkeit, Databricks-Notizbuchdateien, views, Unity Catalogvolumesund Unity Catalog Modelle zu teilen.
Informationen dazu finden Sie unter Freigeben von Daten mithilfe des Databricks-zu-Databricks-Delta Sharing-Protokolls (für providers).
Wie können Anbieteradministratoren Delta Sharing set?
Dieser Abschnitt gibt einen Überblick darüber, wie providers Delta Sharing aktivieren und die Freigabe aus einem Azure Databricks-Arbeitsbereich mit Unity Catalog-Unterstützung initiieren. Informationen zur Open-Source-Delta-Freigabe finden Sie unter github.com/delta-io/delta-sharing.
Die Databricks-zu-Databricks-Freigabe zwischen Unity Catalog-metastores im selben Konto ist immer aktiviert. Wenn Sie als Anbieter die Delta-Freigabe aktivieren möchten, um Daten mit Databricks-Arbeitsbereichen in anderen Konten oder Nicht-Databricks-Clients zu teilen, führt ein Azure Databricks-Kontoverwalter oder Metastore-Administrator die folgenden Einrichtungsschritte durch (auf hohem Niveau):
Aktivieren Sie Delta Sharing für den Unity Catalog Metastore, der die Daten verwaltet, die Sie freigeben möchten.
Hinweis
Sie müssen Delta Sharing in Ihrem Metastore nicht aktivieren, wenn Sie Delta Sharing nur für die gemeinsame Nutzung von Daten mit Benutzern auf anderen Unity Catalog-metastores in Ihrem Konto verwenden möchten. Die Freigabe von Metastore zu Metastore innerhalb eines einzelnen Azure Databricks-Kontos ist standardmäßig aktiviert.
Weitere Informationen finden Sie unter Aktivieren von Delta Sharing für einen Metastore.
Erstellen Sie eine Freigabe, die Datenressourcen enthält, die im Unity Catalog-Metastore registriert sind.
Wenn Sie die Freigabe für einen Empfänger ohne Databricks (als offene Freigabe bezeichnet) verwenden, können Sie tables im Delta- oder Parquet-Format einfügen. Wenn Sie die Databricks-zu-Databricks-Freigabe verwenden möchten, können Sie einer Freigabe auch views, Unity Catalog-volumes, Unity Catalog-Modelle und Notebookdateien hinzufügen.
Weitere Informationen finden Sie unter Erstellen und Verwalten von shares für Delta Sharing.
Erstellen Sie einen Empfänger.
Weitere Informationen finden Sie unter Erstellen und Verwalten von Daten-recipients für Delta Sharing.
Wenn Ihr Empfänger kein Databricks-Benutzer ist oder keinen Zugriff auf einen Databricks-Arbeitsbereich hat, der Unity Catalog unterstützt, müssen Sie eine offene Freigabe verwenden. Für diesen Empfänger wird eine set tokenbasierter credentials generiert.
Wenn Ihr Empfänger Zugriff auf einen Databricks-Arbeitsbereich mit Unity Catalog-Unterstützung hat, können Sie eine Databricks-zu-Databricks-Freigabe verwenden, und es sind keine tokenbasierten credentials erforderlich. Sie fordern beim Empfänger einen Freigabe-identifier an und verwenden diesen, um eine sichere Verbindung herzustellen.
Tipp
Richten Sie sich selbst als Testempfänger ein, um den Einrichtungsprozess auszuprobieren.
Grant dem Empfänger Zugriff auf eine oder mehrere shares.
Weitere Informationen finden Sie unter Verwalten von Zugriff auf Delta Sharing-Daten-providers (für shares).
Hinweis
Dieser Schritt kann auch von einem Nicht-Administratorbenutzer mit den
USE SHARE
-,USE RECIPIENT
- undSET SHARE PERMISSION
-Berechtigungen ausgeführt werden. Weitere Informationen finden Sie unter Unity Catalog-Berechtigungen und sicherungsfähige Objekte.Senden Sie dem Empfänger die Informationen, die er zum Herstellen einer Verbindung mit der Freigabe benötigt (nur bei offenen Freigaben).
Weitere Informationen finden Sie unter Senden der Verbindungsinformationen an den Empfänger.
Bei einer offenen Freigabe senden Sie über einen sicheren Kanal einen Aktivierungslink an den Empfänger, über den dieser seine tokenbasierten credentials herunterladen kann.
Bei einer Databricks-zu-Databricks-Freigabe werden die in der Freigabe enthaltenen Daten im Databricks-Arbeitsbereich des Empfängers verfügbar, sobald Sie den Zugriff auf die Freigabe grant.
Der Empfänger kann jetzt auf die freigegebenen Daten zugreifen.
Wie greifen recipients auf die freigegebenen Daten zu?
Recipients greifen auf freigegebene Datenressourcen im schreibgeschützten Format zu. Freigegebene Notebookdateien sind schreibgeschützt, können aber wie jedes andere Notebook geklont und dann geändert und im Empfängerarbeitsbereich ausgeführt werden.
Der sichere Zugriff hängt vom Freigabemodell ab:
- Offene Freigabe (Empfänger haben keinen Databricks-Arbeitsbereich mit Unity Catalog-Unterstützung): Der Empfänger stellt die Anmeldeinformationen bereit, wenn er auf die Daten im Tool seiner Wahl zugreift, einschließlich Apache Spark, Pandas, Power BI, Databricks und viele mehr. Weitere Informationen finden Sie unter Lesen von Daten, die über das Delta Sharing-Protokoll für offene Freigaben freigegeben wurden (für recipients).
- Databricks-zu-Databricks (Empfängerarbeitsbereich mit Unity Catalog-Unterstützung): Der Empfänger greift über Databricks auf die Daten zu. Empfänger können Unity Catalog verwenden, um anderen Benutzern in ihrem Databricks-Konto den Zugriff zu grant oder zu deny. Weitere Informationen finden Sie unter Lesen von per Databricks-zu-Databricks Delta Sharing freigegebenen Daten (für recipients).
Wenn der Datenanbieter Daten tables oder volumes in seinem eigenen Databricks-Konto aktualisiert, werden die Aktualisierungen in nahezu Echtzeit im System des Empfängers angezeigt.
Wie können Sie nachverfolgen, wer freigegebene Daten freigibt und auf sie zugreift?
Daten-providers auf Azure Databricks-Arbeitsbereichen mit Unity Catalog-Unterstützung können Azure Databricks Audit-Protokollierung und System-tables verwenden, um die Erstellung und Änderung von shares und recipients zu überwachen und die Empfängeraktivitäten auf shares zu überwachen. Weitere Informationen unter Überwachen der Datenfreigabe.
Daten-recipients, die freigegebene Daten in einem Databricks-Arbeitsbereich verwenden, können die Databricks-Überwachungsprotokollierung und System-tables verwenden, um zu verstehen, wer auf welche Daten zugreift. Weitere Informationen unter Überwachen der Datenfreigabe.
Freigabe von volumes
Sie können volumes mithilfe des Datenbricks-zu-Databricks-Freigabeflows freigeben. Weitere Informationen finden Sie unter Hinzufügen von volumes zu einer Freigabe (für providers) und Lesen von Daten, die mithilfe von Databricks-zu-Databricks-Delta Sharing (für recipients) (für recipients) freigegeben wurden.
Freigabe von Modellen
Sie können Volumes mithilfe des Databricks-to-Databricks-Freigabeflows freigeben. Weitere Informationen finden Sie unter Hinzufügen von Modellen zu einer Freigabe (für providers) und Lesen von Daten, die mithilfe von Databricks-zu-Databricks-Delta Sharing (für recipients) (für recipients) freigegeben wurden.
Freigeben von Notebooks
Sie können Delta Sharing verwenden, um Notebookdateien mithilfe des Databricks-zu-Databricks-Freigabeflows freizugeben. Weitere Informationen finden Sie unter Hinzufügen von Notebookdateien zu einer Freigabe (für providers) und Lesen freigegebener Notebooks (für recipients).
Einschränken des Zugriffs auf Zeilen- und column-Ebene
Sie können dynamische views freigeben, die den Zugriff auf bestimmte table-Daten auf der Grundlage von Empfängereigenschaften einschränken. Die dynamische Freigabe von Ansichten erfordert den Databricks-to-Databricks Sharing Flow. Weitere Informationen finden Sie unter Hinzufügen dynamischer views zu einer Freigabe zum Filtern von Zeilen und columns.
Delta Sharing und Streaming
Delta Sharing unterstützt strukturiertes Spark-Streaming. Ein Anbieter kann eine table mit Verlauf freigeben, sodass ein Empfänger sie als strukturierte Streamingquelle verwenden kann, um freigegebene Daten inkrementell mit geringer Latenz zu verarbeiten. Recipients können auch Delta Lake-Zeitreiseabfragen für tables, die mit Verlauf geteilt wurden, ausführen.
Informationen zum Freigeben von tables für den Verlauf finden Sie unter Hinzufügen von tables zu einer Freigabe. Informationen zum Verwenden freigegebener tables als Streamingquellen finden Sie unter Abfragen einer table mithilfe von Apache Spark Structured Streaming (für recipients einer Datenbricks-zu-Databricks-Freigabe) oder Zugreifen auf eine freigegebene table mithilfe von Apache Spark Structured Streaming (für recipients von Daten aus offenen Freigaben).
Weitere Informationen finden Sie unter Streaming in Azure Databricks.
Unterstützungsmatrix für Delta Lake-Features
Beim Freigeben einer table unterstützt Delta Sharing die meisten Delta Lake-Funktionen. In dieser Unterstützungsmatrix ist Folgendes aufgeführt:
- Delta-Features, die bestimmte Versionen von Databricks Runtime, den Open-Source-Delta Sharing-Connectors für Spark oder den Open-Source-Delta Sharing-Connector für Python erfordern.
- Teilweise unterstützte Features.
Funktion | Anbieter | Databricks-Empfänger | Open-Source-Empfänger |
---|---|---|---|
Löschvektoren | Das Freigeben von tables mit diesem Feature befindet sich in der Public Preview. | – Databricks Runtime 14.1+ für Batchabfragen – Databricks Runtime 14.2+ für CDF- und Streamingabfragen |
– Delta Sharing-Connector für Spark 3.1+ – Delta Sharing-Connector für Python 1.1.0+ – Power BI v2.132.908.0+ |
Column-Zuordnung | Das Freigeben von tables mit diesem Feature befindet sich in der Public Preview. | – Databricks Runtime 14.1+ für Batchabfragen – Databricks Runtime 14.2+ für CDF- und Streamingabfragen |
– Delta Sharing-Connector für Spark 3.1+ – Delta Sharing-Connector für Python 1.1.0+ – Power BI v2.132.908.0+ |
Einheitliches Format | Das Freigeben von tables mit diesem Feature befindet sich in der Public Preview. | – Databricks Runtime 14.1+ für Batchabfragen – Databricks Runtime 14.2+ für CDF- und Streamingabfragen |
– Delta Sharing-Connector für Spark 3.1+ – Delta Sharing-Connector für Python 1.1.0+ – Power BI v2.132.908.0+ |
V2-Prüfpunkt | Mit Einschränkungen unterstützt | Mit Einschränkungen unterstützt | Mit Einschränkungen unterstützt |
TimestampNTZ | Unterstützt | Databricks Runtime 14.1+ | Delta Sharing-Connector für Spark 3.3+ |
Liquid Clustering | Mit Einschränkungen unterstützt | Mit Einschränkungen unterstützt | Mit Einschränkungen unterstützt |
Häufig gestellte Fragen zur Delta-Freigabe
Im Folgenden finden Sie häufig gestellte Fragen zu Delta Sharing.
Benötige ich Unity Catalog, um Delta Sharing zu nutzen?
Nein, Sie benötigen Unity Catalog nicht, um Daten (als Anbieter) zu teilen oder geteilte Daten (als Empfänger) zu nutzen. Unity Catalog bietet jedoch Vorteile wie Unterstützung für die Freigabe von nicht tabellarischen Ressourcen und KI-Ressourcen, sofort einsatzbereite Governance, Einfachheit und Abfrageleistung.
Providers kann Daten auf zwei Arten teilen:
Stellen Sie die freizugebenden Ressourcen unter die Unity Catalog-Verwaltung und geben Sie sie über den integrierten Delta-Sharing-Server von Azure Databricks frei.
Sie müssen nicht alle Ressourcen zu Unity Catalogmigrieren. Sie benötigen nur einen Azure Databricks-Arbeitsbereich, der für Unity Catalog aktiviert ist, um Ressourcen zu verwalten, die Sie freigeben möchten. In einigen Konten wird Unity Catalog automatisch für neue Arbeitsbereiche aktiviert. Weitere Informationen finden Sie unter Automatische Aktivierung von Unity Catalog.
Implementieren Sie den offenen Delta-Freigabeserver, um Daten freizugeben, ohne unbedingt Ihr Azure Databricks-Konto zu verwenden.
Recipients kann Daten auf zwei Arten verbrauchen:
Ohne Databricks-Arbeitsbereich. Verwenden Sie Open Source Delta Sharing-Connectors, die für viele Datenplattformen verfügbar sind, einschließlich Power BI, Pandas und Open Source Apache Spark. Weitere Informationen finden Sie unter Lesen von Daten, die über das Delta Sharing-Protokoll für offene Freigaben (für recipients) und dem Delta Sharing Open Source-Projekt freigegeben wurden.
In einem Databricks-Arbeitsbereich. Für Empfängerarbeitsbereiche muss Unity Catalog nicht aktiviert werden, dies bringt jedoch Vorteile in Bezug auf Governance, Einfachheit und Leistung mit sich.
Empfängerorganisationen, die diese Vorteile benötigen, müssen nicht alle Ressourcen zu Unity Catalogmigrieren. Sie benötigen nur einen Azure Databricks-Arbeitsbereich, der für Unity Catalog aktiviert ist, um Ressourcen zu verwalten, die für Sie freigegeben sind. In einigen Konten wird Unity Catalog automatisch für neue Arbeitsbereiche aktiviert. Weitere Informationen finden Sie unter Automatische Aktivierung von Unity Catalog.
Weitere Informationen finden Sie unter Lesen von Daten, die über das Delta Sharing-Protokoll für offene Freigaben freigegeben wurden (für recipients) und Lesen von Daten, die mithilfe von Delta Sharing von Databricks-zu-Databricks freigegeben wurden (für recipients).
Muss ich ein Databricks-Kunde sein, um Delta Sharing zu verwenden?
Nein, Die Delta-Freigabe ist ein offenes Protokoll. Sie können Daten von außerhalb von Databricks mit recipients auf jeder beliebigen Datenplattform teilen. Providers können einen offenen Delta Sharing-Server so konfigurieren, dass er von jeder Computingplattform aus freigeben kann. Recipients kann freigegebene Daten mit Hilfe von Open Source Delta Sharing-Connectors für viele Datenprodukte nutzen, einschließlich Power BI, pandas und Open Source Spark.
Die Verwendung von Delta Sharing für Azure Databricks, insbesondere die Freigabe aus einem Arbeitsbereich mit Unity Catalog, hat jedoch viele Vorteile.
Ausführliche Informationen finden Sie in der ersten Frage in diesen häufig gestellten Fragen.
Entstehen Kosten für ausgehende Delta Sharing-Daten?
Die Delta-Freigabe innerhalb einer Region verursacht keine Kosten für den Ausgang. Im Gegensatz zu anderen Datenfreigabeplattformen erfordert Delta Sharing keine Datenreplikation. Dieses Modell bietet viele Vorteile, allerdings kann Ihr Cloudanbieter möglicherweise Gebühren für ausgehende Daten erheben, wenn Sie Daten cloud- oder regionsübergreifend freigeben. Azure Databricks unterstützt die Freigabe aus Cloudflare R2, bei der keine Gebühren durch ausgehende Daten verursacht wird, und stellt weitere Tools und Empfehlungen bereit, um solche Gebühren zu überwachen und zu vermeiden. Weitere Informationen finden Sie unter Überwachen und Verwalten der Kosten für ausgehende Delta Sharing-Daten (für providers).
Können providers den Zugriff revoke?
Ja, der Empfängerzugriff kann bei Bedarf und auf bestimmten Granularitätsebenen widerrufen werden. Sie können den Empfängerzugriff auf bestimmte shares und bestimmte IP-Adressen deny, tabellarische Daten für einen Empfänger filtern, Empfängertoken revoke und recipients vollständig löschen. Weitere Informationen finden Sie unter Revoke des Empfängerzugriffs auf eine Freigabe und Erstellen und Verwalten von Daten-recipients für Delta Sharing.
Ist es nicht unsicher, vorsignierte URLs zu verwenden?
Die Delta-Freigabe verwendet vorsignierte URLs, um temporären Zugriff auf eine Datei im Objektspeicher bereitzustellen. Sie werden nur recipients gewährt, die bereits Zugriff auf die freigegebenen Daten haben. Sie sind sicher, da sie kurzlebig sind und die Zugriffsebene nicht über das hinaus erweitern, was recipients bereits gewährt wurde.
Werden die Token im offenen Freigabeprotokoll „Delta Sharing“ sicher verwendet?
Da Delta Sharing plattformübergreifende Freigabe ermöglicht – im Gegensatz zu anderen verfügbaren Datenfreigabeplattformen – erfordert das Freigabeprotokoll ein offenes Token. Providers können die Tokensicherheit sicherstellen, indem sie die Tokenlebensdauer konfigurieren, Netzwerksteuerelemente festlegen und den Zugriff bei Bedarf widerrufen. Darüber hinaus erweitert das Token die Zugriffsebene nicht über das recipients bereits gewährte Maß hinaus. Siehe Sicherheitsüberlegungen für Token.
Wenn Sie zum Verwalten des Zugriffs auf Empfänger-shares keine Token verwenden möchten, sollten Sie die Databricks-zu-Databricks-Freigabe verwenden oder Ihr Databricks-Kontoteam bezüglich Alternativen kontaktieren.
Unterstützt Die Delta-Freigabe die Ansichtsfreigabe?
Ja, Die Delta-Freigabe unterstützt die Ansichtsfreigabe. Weitere Informationen finden Sie unter Hinzufügen von views zu einer Freigabe.
Wenn Sie mehr über geplante Verbesserungen beim Anzeigen der Freigabe erfahren möchten, wenden Sie sich an Ihr Databricks-Kontoteam.
Einschränkungen
- Tabellarische Daten müssen im Delta-table-Format vorliegen. Sie können Parkett-tables ganz einfach in das Delta-Format und wieder zurück umwandeln. Siehe CONVERT TO DELTA.
- Delta Sharing unterstützt tables, die Liquid Clustering und den V2-Checkpoint verwenden, mit den folgenden Einschränkungen:
- Recipients kann nur Momentaufnahme-Abfragen ausführen. Sie können keine Änderungsdatenfeeds (CDF) oder Streamingabfragen ausführen.
- Providers können die table nicht mit partition-Filterung freigeben.
- Table-Constraints (Primär- und Fremdschlüssel-Constraints) sind für freigegebene tables nicht verfügbar.
- Freigabefähige views müssen für Delta-tables oder andere freigabefähige views definiert werden. Weitere Informationen finden Sie unter Hinzufügen von views zu einer Freigabe (für providers) und Lesen von freigegebenen views (für recipients).
- Die Notebookfreigabe wird nur in der Databricks-zu-Databricks-Freigabe unterstützt. Weitere Informationen finden Sie unter Hinzufügen von Notebookdateien zu einer Freigabe und Lesen von Daten, die mithilfe von Delta Sharing von Databricks-zu-Databricks freigegeben wurden (für recipients).
- Die Freigabe von Volume wird nur in der Databricks-zu-Databricks-Freigabe unterstützt. Weitere Informationen finden Sie unter Hinzufügen von volumes zu einer Freigabe (für providers) und Lesen von Daten, die mithilfe von Delta Sharing von Databricks-zu-Databricks freigegeben wurden (für recipients).
- Die Modellfreigabe wird nur in der Databricks-zu-Databricks-Freigabe unterstützt. Weitere Informationen finden Sie unter Hinzufügen von Modellen zu einer Freigabe (für providers) und Lesen von Daten, die mithilfe von Delta Sharing von Databricks-zu-Databricks freigegeben wurden (für recipients).
- Die Anzahl von Dateien in Metadaten, die für eine freigegebene table zulässig sind, ist begrenzt. Weitere Informationen finden Sie unter Fehler: Ressourcen- überschrittenlimit.
- Schemas namens
information_schema
können nicht in einen Unity Catalog Metastore importiert werden, da dieser schema Name in Unity Catalogreserviert ist. - Die Freigabe von
SHALLOW CLONE
-tables wird von Delta Sharing nicht unterstützt. Azure Databricks unterstützt keine vorsignierenden URLs für Delta-Protokolle, die auf absolute Pfade verweisen.
Siehe auch Unterstützungsmatrix für Delta Lake-Features.
Ressourcenkontingente
Azure Databricks erzwingt Ressourcenkontingente für alle sicherungsfähigen Delta-Freigabeobjekte. Diese Kontingente werden in den Ressourcengrenzwerten aufgeführt. Wenn Sie davon ausgehen, dass Sie diese Ressourcengrenzwerte überschreiten, wenden Sie sich an Ihr Azure Databricks-Kontoteam.
Sie können Ihre Kontingentnutzung mithilfe der Unity-Catalog-APIs für Ressourcenkontingente überwachen. Weitere Informationen finden Sie unter Überwachen der Verwendung von Unity Catalog-Ressourcenkontingenten.