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 Basis für Databricks Marketplace, ein offenes Forum für den Austausch von Datenprodukten und Clean Rooms, eine sichere und datenschutzgeschützte Umgebung, in der mehrere Parteien an vertraulichen Unternehmensdaten zusammenarbeiten können.
Delta Sharing ist auch als Open-Source-Projekt verfügbar, das Sie verwenden können, um Delta-Tabellen von anderen Plattformen freizugeben.
Hinweis
Informationen zum Zugreifen auf Daten, die für Sie mithilfe der Delta-Freigabe freigegeben wurden, finden Sie unter Access-Daten, die für Sie mithilfe der Delta-Freigabe (für Empfänger) freigegeben wurden.
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 nicht in den anderen Protokollen unterstützt werden, darunter Notebookfreigabe, Unity Catalog-Volumefreigabe, Unity Catalog-KI-Modellfreigabe, Unity Catalog-Datengovernance, Überwachung und Nutzungsnachverfolgung sowohl für Anbieter als auch Empfänger. Die Integration in Unity Catalog vereinfacht die Einrichtung und Governance für Anbieter und Empfänger und verbessert die Leistung.
Siehe Freigeben von Daten mithilfe des Databricks-zu-Databricks-Delta Sharing-Protokolls (für Anbieter).
Das Databricks-Protokoll für offenen Freigaben, mit dem Sie Tabellendaten, die Sie in einem Unity Catalog-fähigen Databricks-Arbeitsbereich verwalten, für Benutzer*innen auf einer beliebigen Computerplattform freigeben können.
Dieser Ansatz verwendet den Delta Sharing-Server, der in Azure Databricks integriert ist und nützlich ist, wenn Sie Daten mithilfe von Unity Catalog verwalten und für Benutzer*innen freigeben möchten, die Databricks nicht verwenden oder keinen Zugriff auf einen Unity Catalog-fähigen Databricks-Arbeitsbereich haben. Die Integration mit Dem Unity-Katalog auf der Anbieterseite vereinfacht die Einrichtung und Governance für Anbieter.
Siehe Freigeben von Daten mithilfe des Open Delta Sharing-Protokolls (für Anbieter).
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.
Freigaben, Anbieter und Empfänger
Die primären Konzepte, die Delta Sharing in Azure Databricks zugrunde liegen, sind Freigaben, Anbieter und Empfänger.
Was ist eine Freigabe?
In Delta Sharing ist eine Freigabe eine schreibgeschützte Sammlung von Tabellen und Tabellenpartitionen, die ein Anbieter mit einem oder mehreren Empfängern teilen möchte. Wenn Ihr Empfänger einen Unity Catalog-fähigen Databricks-Arbeitsbereich verwendet, können Sie auch Notebookdateien, Ansichten (einschließlich dynamischer Ansichten, die den Zugriff auf Zeilen- und Spaltenebene einschränken), Unity Catalog-Volumes und Unity Catalog-Modelle in einer Freigabe einschließen.
Sie können einer Freigabe jederzeit Tabellen, Ansichten, Volumes, Modelle und Notebookdateien hinzufügen oder daraus entfernen, und Sie können den Datenempfängerzugriff auf eine Freigabe jederzeit zuweisen oder widerrufen.
In einem Mit Unity-Katalog aktivierten Azure Databricks-Arbeitsbereich ist eine Freigabe ein sicherungsfähiges Objekt, das im Unity-Katalog registriert ist. Wenn Sie eine Freigabe aus Ihrem Unity Catalog-Metastore entfernen, verlieren alle Empfänger dieser Freigabe den Zugriff darauf.
Weitere Informationen finden Sie unter Erstellen und Verwalten von Freigaben für Delta Sharing.
Was ist ein Anbieter?
Ein Anbieter ist eine Entität, die Daten mit einem Empfänger teilt. Wenn Sie ein Anbieter sind und den integrierten Databricks Delta Sharing-Server nutzen und Freigaben und Empfänger mithilfe des Unity-Katalogs verwalten möchten, benötigen Sie mindestens einen Azure Databricks-Arbeitsbereich, der für Unity-Katalog aktiviert ist. Sie müssen nicht alle Ihre bestehenden Arbeitsbereiche nach Unity Catalog migrieren. Sie können einfach einen neuen Unity-Katalog-aktivierten Arbeitsbereich für Ihre Delta-Freigabeanforderungen erstellen.
Wenn sich ein Empfänger in einem Mit Unity-Katalog aktivierten Databricks-Arbeitsbereich befindet, ist der Anbieter auch ein sicherungsfähiges Unity-Katalog-Objekt, das die Anbieterorganisation darstellt und dieser Organisation eine Reihe von Freigaben zuordnet.
Was ist ein Empfänger?
Ein Empfänger ist eine Entität, die Freigaben von einem Anbieter empfängt. In Unity Catalog ist eine Freigabe ein sicheres Objekt, das eine Organisation repräsentiert und mit einem Berechtigungsnachweis oder einer Kennung für die sichere Freigabe verknüpft ist, die dieser Organisation den Zugriff auf eine oder mehrere Freigaben ermöglicht.
Als Datenanbieter (Benutzer, der Daten freigibt) können Sie mehrere Empfänger für jeden beliebigen Unity Catalog-Metastore definieren. Wenn Sie jedoch Daten aus mehreren Metastores für einen bestimmten Benutzer oder eine bestimmte Benutzergruppe freigeben möchten, müssen Sie den Empfänger für jeden Metastore separat definieren. Ein Empfänger kann Zugriff auf mehrere Freigaben haben.
Wenn ein Anbieter einen Empfänger aus seinem Unity Catalog Metaspeicher löscht, verliert dieser Empfänger den Zugriff auf alle Freigaben, auf die er zuvor zugreifen konnte.
Weitere Informationen finden Sie unter Erstellen und Verwalten von Datenempfängern 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 beschrieben, der für Unity-Katalog aktiviert ist.
Hinweis
In diesem Abschnitt wird davon ausgegangen, dass sich der Anbieter in einem Azure Databricks-Arbeitsbereich mit Unity-Katalog befindet. Weitere Informationen zum Einrichten eines Open-Source-Delta-Freigabeservers für die Freigabe von einer Nicht-Databricks-Plattform oder einem Nicht-Unity-Katalogarbeitsbereich 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 der Databricks-to-Databricks-Freigabe können Sie Daten mit Azure Databricks-Benutzern teilen, deren Arbeitsbereich mit einem anderen Unity Catalog-Metaspeicher als dem Ihren 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 generieren 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 Tabellen zu erhalten, die Sie in die Freigaben eingefügt haben, auf die Sie dem Empfänger Zugriff gewähren.
Empfänger können verschiedene Computingtools und -plattformen verwenden, um auf die freigegebenen Daten zuzugreifen, darunter:
- Azure Databricks
- Apache Spark
- Pandas
- Power BI
Eine vollständige Liste der Delta Sharing-Connectors und Informationen zu deren Verwendung finden Sie in der Dokumentation zu Delta Sharing.
Siehe auch Freigeben von Daten mithilfe des offenen Delta Sharing-Protokolls (für Anbieter).
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 für Unity-Katalog aktiviert ist, können Sie die Delta-Freigabe von Databricks-to-Databricks 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 die Delta-Freigabe nicht erforderlich ist, um Daten zwischen Arbeitsbereichen freizugeben, die mit demselben Unity Catalog-Metaspeicher verbunden sind, da Sie in diesem Szenario Unity-Katalog 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-Notebookdateien, Ansichten, Unity Catalog-Volumes und Unity Catalog-Modelle freizugeben.
Siehe auch Freigeben von Daten mithilfe des Databricks-zu-Databricks-Delta Sharing-Protokolls (für Anbieter).
Wie richten Anbieteradministratoren die Delta-Freigabe ein?
Dieser Abschnitt enthält eine Übersicht darüber, wie Anbieter die Delta-Freigabe aktivieren und die Freigabe über einen Azure Databricks-Arbeitsbereich mit Unity-Katalog initiieren können. 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 brauchen Delta Sharing auf Ihrem Metaspeicher nicht zu aktivieren, wenn Sie Delta Sharing nur für die gemeinsame Nutzung von Daten mit Benutzern auf anderen Unity Catalog-Metaspeichern 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-Katalog-Metastore registriert sind.
Wenn Sie die Freigabe für einen Empfänger ohne Databricks (als offene Freigabe bezeichnet) verwenden, können Sie Tabellen im Delta- oder Parquetformat einfügen. Wenn Sie planen, die Databricks-to-Databricks-Freigabe zu verwenden, können Sie einer Freigabe auch Ansichten, Unity Catalog-Volumes, Unity Catalog-Modelle und Notebookdateien hinzufügen.
Weitere Informationen finden Sie unter Erstellen und Verwalten von Freigaben für Delta Sharing.
Erstellen Sie einen Empfänger.
Weitere Informationen finden Sie unter Erstellen und Verwalten von Datenempfängern für Delta Sharing.
Wenn Ihr Empfänger kein Databricks-Benutzer ist oder keinen Zugriff auf einen Databricks-Arbeitsbereich hat, der für Unity Catalog aktiviert ist, müssen Sie eine offene Freigabe verwenden. Für diesen Empfänger werden tokenbasierte Anmeldeinformationen erstellt.
Wenn Ihr Empfänger Zugriff auf einen Databricks-Arbeitsbereich hat, der für Unity Catalog aktiviert ist, können Sie eine Databricks-zu-Databricks-Freigabe verwenden, und es sind keine tokenbasierten Anmeldeinformationen erforderlich. Sie fordern einen Freigabebezeichner vom Empfänger an und verwenden diesen, um die sichere Verbindung herzustellen.
Tipp
Richten Sie sich selbst als Testempfänger ein, um den Einrichtungsprozess auszuprobieren.
Gewähren Sie dem Empfänger Zugriff auf mindestens eine Freigabe.
Siehe Verwalten des Zugriffs auf Delta Sharing-Datenfreigaben (für Anbieter).
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 Anmeldeinformationen 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 gewährt haben.
Der Empfänger kann jetzt auf die freigegebenen Daten zugreifen.
Wie greifen Empfänger auf die freigegebenen Daten zu?
Empfänger 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 für Unity-Katalog aktiviert): Der Empfänger stellt die Anmeldeinformationen bereit, wenn er auf die Daten in ihrem Wahltool 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 (für Empfänger) freigegeben wurden.
- Databricks-to-Databricks (Empfängerarbeitsbereich ist für Unity-Katalog aktiviert): Der Empfänger greift mithilfe von Databricks auf die Daten zu. Empfänger können Unity Catalog verwenden, um anderen Benutzern in ihrem Databricks-Konto den Zugriff zu gewähren oder zu verweigern. Weitere Informationen finden Sie unter Lesen von per Databricks-zu-Databricks Delta Sharing freigegebenen Daten (für Empfänger).
Wenn der Datenanbieter Datentabellen oder Volumes in seinem eigenen Databricks-Konto aktualisiert, werden die Aktualisierungen nahezu in Echtzeit im System des Empfängers angezeigt.
Wie können Sie nachverfolgen, wer freigegebene Daten freigibt und auf sie zugreift?
Datenanbieter auf Unity Catalog-fähigen Azure Databricks-Arbeitsbereichen können Azure Databricks Audit-Protokollierung und Systemtabellen verwenden, um die Erstellung und Änderung von Freigaben und Empfängern zu überwachen und die Empfängeraktivitäten auf Freigaben zu überwachen. Weitere Informationen unter Überwachen der Datenfreigabe.
Datenempfänger, die gemeinsam genutzte Daten in einem Databricks-Arbeitsbereich verwenden, können Databricks Audit-Protokollierung und Systemtabellen nutzen, um zu verstehen, wer auf welche Daten zugreift. Weitere Informationen unter Überwachen der Datenfreigabe.
Freigabe von Volumes
Sie können Volumes mithilfe des Databricks-to-Databricks-Freigabeflows freigeben. Siehe Hinzufügen von Volumes zu einer Freigabe (für Anbieter) und Lesen von Daten, die mithilfe von Databricks-zu-Databricks Delta-Freigabe (für Empfänger) (für Empfänger) freigegeben werden.
Freigabe von Modellen
Sie können Volumes mithilfe des Databricks-to-Databricks-Freigabeflows freigeben. Siehe Hinzufügen von Volumes zu einer Freigabe (für Anbieter) und Lesen von Daten, die mithilfe von Databricks-zu-Databricks-Delta Sharing (für Empfänger) freigegeben werden (für Empfänger).
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 Anbieter) und Lesen freigegebener Notebooks (für Empfänger).
Einschränken des Zugriffs auf Zeilen- und Spaltenebene
Sie können dynamische Ansichten freigeben, die den Zugriff auf bestimmte Tabellendaten 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 Ansichten zu einer Freigabe, um Zeilen und Spalten zu filtern.
Delta Sharing und Streaming
Delta Sharing unterstützt strukturiertes Spark-Streaming. Ein Anbieter kann eine Tabelle für den Verlauf freigeben, sodass ein Empfänger sie als strukturierte Streamingquelle verwenden und freigegebene Daten inkrementell mit geringer Latenz verarbeiten kann. Empfänger können auch Delta Lake-Zeitreiseabfragen für Tabellen ausführen, die für den Verlauf freigegeben werden.
Informationen zum Freigeben von Tabellen für den Verlauf finden Sie unter Hinzufügen von Tabellen zu einer Freigabe. Informationen zum Verwenden freigegebener Tabellen als Streamingquellen finden Sie unter Abfragen einer Tabelle mithilfe von strukturiertem Apache Spark-Streaming (für Empfänger der Databricks-zu-Databricks-Freigabe) oder Zugreifen auf eine freigegebene Tabelle mithilfe von strukturiertem Spark-Streaming (für Empfänger offener Freigabedaten).
Weitere Informationen finden Sie unter Streaming in Azure Databricks.
Unterstützungsmatrix für Delta Lake-Features
Delta Sharing unterstützt die meisten Delta Lake-Features, wenn Sie eine Tabelle freigeben. 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 Tabellen 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+ |
Spaltenzuordnung | Das Freigeben von Tabellen 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 Tabellen 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-Katalog für die Verwendung der Delta-Freigabe?
Nein, Sie müssen Unity-Catalog nicht freigeben (als Anbieter) oder freigegebene Daten (als Empfänger) 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.
Anbieter können Daten auf zwei Arten freigeben:
Legen Sie die Ressourcen unter der Unity-Katalogverwaltung frei, und geben Sie diese mithilfe des integrierten Azure Databricks Delta Sharing-Servers frei.
Sie müssen nicht alle Objekte in den Unity-Katalog migrieren. Sie benötigen nur einen Azure Databricks-Arbeitsbereich, der für den Unity-Katalog aktiviert ist, um Ressourcen zu verwalten, die Sie freigeben möchten. In einigen Konten werden neue Arbeitsbereiche automatisch für Unity Catalog aktiviert. Siehe Automatische Aktivierung des Unity Catalog.
Implementieren Sie den offenen Delta-Freigabeserver, um Daten freizugeben, ohne unbedingt Ihr Azure Databricks-Konto zu verwenden.
Empfänger können Daten auf zwei Arten nutzen:
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 mit der offenen Freigabe von Delta Sharing (für Empfänger) und dem Delta Sharing Open Source-Projekt geteilt werden.
In einem Databricks-Arbeitsbereich. Empfängerarbeitsbereiche müssen nicht für Den Unity-Katalog aktiviert werden, aber es gibt Vorteile von Governance, Einfachheit und Leistung, wenn sie sich befinden.
Empfängerorganisationen, die diese Vorteile benötigen, müssen nicht alle Ressourcen in den Unity-Katalog migrieren. Sie benötigen nur einen Azure Databricks-Arbeitsbereich, der für Unity-Katalog aktiviert ist, um Ressourcen zu verwalten, die für Sie freigegeben sind. In einigen Konten werden neue Arbeitsbereiche automatisch für Unity Catalog aktiviert. Siehe Automatische Aktivierung des Unity Catalog.
Siehe Lesen von Daten, die mithilfe der offenen Freigabe von Delta Sharing (für Empfänger) freigegeben wurden, und Lesen von Daten, die mit Databricks-to-Databricks Delta Sharing (für Empfänger) freigegeben wurden.
Muss ich ein Databricks-Kunde sein, um Delta Sharing zu verwenden?
Nein, Die Delta-Freigabe ist ein offenes Protokoll. Sie können Nicht-Databricks-Daten für Empfänger auf jeder Beliebigen Datenplattform freigeben. Anbieter können einen offenen Delta Sharing-Server so konfigurieren, dass er von jeder Computerplattform aus freigeben kann. Empfänger können freigegebene Daten mithilfe von Open Source Delta Sharing Connectors für viele Datenprodukte nutzen, einschließlich Power BI, Pandas und Open Source Spark.
Die Verwendung der Delta-Freigabe auf Azure Databricks, insbesondere die Freigabe aus einem Unity-Katalog-fähigen Arbeitsbereich, 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 Anbieter).
Können Anbieter den Empfängerzugriff widerrufen?
Ja, der Empfängerzugriff kann bei Bedarf und auf bestimmten Granularitätsebenen widerrufen werden. Sie können den Empfängerzugriff auf bestimmte Freigaben und bestimmte IP-Adressen verweigern, tabellarische Daten für einen Empfänger filtern, Empfängertoken widerrufen und Empfänger vollständig löschen. Siehe Widerrufen des Empfängerzugriffs auf eine Freigabe und Erstellen und Verwalten von Datenempfängern für die Delta-Freigabe.
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 Empfängern gewährt, die bereits Zugriff auf die freigegebenen Daten haben. Sie sind sicher, da sie kurzlebig sind und nicht die Zugriffsebene erweitern, die über die bereits gewährten Empfänger hinausgeht.
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. Anbieter können die Tokensicherheit sicherstellen, indem sie die Tokenlebensdauer konfigurieren, Netzwerksteuerelemente festlegen und den Zugriff bei Bedarf widerrufen. Darüber hinaus erweitert das Token nicht die Zugriffsebene, die über die bereits erteilten Empfänger hinausgeht. Siehe Sicherheitsüberlegungen für Token.
Wenn Sie Token nicht zum Verwalten des Zugriffs auf Empfängerfreigaben verwenden möchten, sollten Sie die Databricks-to-Databricks-Freigabe verwenden oder Ihr Databricks-Kontoteam für Alternativen kontaktieren.
Unterstützt Die Delta-Freigabe die Ansichtsfreigabe?
Ja, Die Delta-Freigabe unterstützt die Ansichtsfreigabe. Siehe Hinzufügen von Ansichten 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
- Tabellendaten müssen im Delta-Tabellenformat vorliegen. Sie können ganz einfach Parquet-Tabellen zu Delta und wieder zurück konvertieren. Siehe CONVERT TO DELTA.
- Delta Sharing unterstützt Tabellen, die Liquid Clustering und den V2-Prüfpunkt verwenden, mit den folgenden Einschränkungen:
- Empfänger können nur Momentaufnahmenabfragen ausführen. Sie können keine Änderungsdatenfeeds (CDF) oder Streamingabfragen ausführen.
- Anbieter können die Tabelle nicht mit Partitionsfilterung freigeben.
- Tabellenconstraints (Primär- und Fremdschlüssel-Constraints) sind in freigegebenen Tabellen nicht verfügbar.
- Ansichten, die freigegeben werden können, müssen in Delta-Tabellen oder anderen gemeinsam nutzbaren Ansichten definiert werden. Weitere Informationen finden Sie unter Hinzufügen von Ansichten zu einer Freigabe (für Anbieter) und Lesen freigegebener Ansichten (für Empfänger).
- Die Notebookfreigabe wird nur in der Databricks-zu-Databricks-Freigabe unterstützt. Weitere Informationen finden Sie unter Hinzufügen von Notebook-Dateien zu einer Freigabe und Lesen von per Databricks-zu-Databricks-Delta Sharing freigegebenen Daten (für Empfänger).
- Die Freigabe von Volume wird nur in der Databricks-zu-Databricks-Freigabe unterstützt. Siehe Hinzufügen von Volumes zu einer Freigabe (für Anbieter) und Lesen von Daten, die mithilfe von Databricks-zu-Databricks Delta-Freigabe (für Empfänger) freigegeben werden.
- Die Modellfreigabe wird nur in der Databricks-zu-Databricks-Freigabe unterstützt. Siehe Hinzufügen von Modellen zu einer Freigabe (für Anbieter) und Lesen von Daten, die mithilfe von Databricks-zu-Databricks-Delta Sharing (für Empfänger) freigegeben werden (für Empfänger).
- Die Anzahl von Dateien in Metadaten, die für eine freigegebene Tabelle zulässig sind, ist begrenzt. Weitere Informationen finden Sie unter Fehler: Ressourcenlimit überschritten.
- Schemas mit dem Namen
information_schema
können nicht in einen Unity Catalog-Metastore importiert werden, da dieser Schemaname in Unity Catalog reserviert ist. - Das Freigeben von
SHALLOW CLONE
Tabellen 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 Ihren Kontingentbedarf mithilfe der Unity Catalog-Ressourcenkontingent-APIs überwachen. Weitere Informationen finden Sie unter Überwachen des Bedarfs an Unity-Katalogressourcenkontingenten.