Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Auf dieser Seite wird OpenSharing in Azure Databricks eingeführt, der sicheren Datenfreigabeplattform, mit der Sie Daten und KI-Ressourcen in Azure Databricks für Benutzer außerhalb Ihrer Organisation freigeben können, unabhängig davon, ob sie Azure Databricks verwenden. OpenSharing 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.
OpenSharing ist auch als Open-Source-Projekt verfügbar, mit dem Sie Delta-Tabellen von anderen Plattformen freigeben können.
Wie funktioniert OpenSharing?
OpenSharing ist ein offenes Protokoll , das von Databricks für die sichere Datenfreigabe mit anderen Organisationen entwickelt wurde. Es funktioniert unabhängig von den Computerplattformen, die diese Organisationen verwenden.
Es gibt einige Möglichkeiten zum Freigeben von Daten mithilfe von OpenSharing:
Das Databricks-to-Databricks-Freigabeprotokoll, mit dem Sie Daten und KI-Ressourcen aus Ihrem Unity-Katalog-fähigen Arbeitsbereich für Benutzer freigeben können, die auch Zugriff auf einen Unity-Katalogfähigen Databricks-Arbeitsbereich haben.
Bei diesem Ansatz wird der OpenSharing-Server verwendet, der in Azure Databricks integriert ist. Es unterstützt einige OpenSharing-Funktionen, die in den anderen Protokollen nicht verfügbar sind, darunter die Freigabe von Notebooks, die Freigabe von Unity Catalog-Volumes, die Freigabe von Unity Catalog-KI-Modellen, Unity Catalog-Datenverwaltung, Auditierung und Nutzungsnachverfolgung sowohl für Anbieter als auch für Empfänger. Die Integration in Unity Catalog vereinfacht die Einrichtung und Governance für Anbieter und Empfänger und verbessert die Leistung.
Siehe Was ist das OpenSharing Databricks-to-Databricks-Protokoll?.
Das Databricks-to-Open-Freigabeprotokoll, mit dem Sie tabellarische Daten freigeben können, die Sie in einem Unity-Katalog-fähigen Databricks-Arbeitsbereich für Benutzer auf jeder Computerplattform verwalten.
Dieser Ansatz verwendet den in Azure Databricks integrierten OpenSharing-Server und ist nützlich, wenn Sie Daten mithilfe des Unity-Katalogs verwalten und mit Benutzern teilen möchten, die Databricks nicht verwenden oder keinen Zugriff auf einen Unity-Katalog-fähigen Databricks-Arbeitsbereich haben. Die Integration in Unity Catalog auf der Anbieterseite vereinfacht die Einrichtung und Governance für Anbieter.
Siehe Was ist das OpenSharing-Databricks-zu-Open-Sharing-Protokoll?.
Eine kundenseitig verwaltete Implementierung des Open-Source-Servers OpenSharing, mit der Sie von jeder Plattform für jede Plattform Daten teilen können, ob mit Databricks oder ohne.
Die dokumentation Azure Databricks enthält keine Anweisungen zum Einrichten Ihres eigenen OpenSharing-Servers. Siehe das Open-Source-Projekt.
Der SAP Business Data Cloud (BDC)-Connector für Azure Databricks, mit dem Sie Daten zwischen Ihrem Unity Catalog-fähigen Arbeitsbereich und einem SAP BDC-Konto freigeben können.
Dieser Ansatz verwendet den SAP BDC Connector, der OpenSharing für Live-, Zero-Copy-Zugriff auf SAP BDC-Datenprodukte nutzt.
Aktien, Anbieter und Empfänger
Die wichtigsten Konzepte, die OpenSharing in Azure Databricks zugrunde liegen, sind Aktien, Anbieter und Empfänger.
Was ist eine Freigabe?
In OpenSharing ist eine Freigabe eine schreibgeschützte Sammlung von Tabellen und Tabellenpartitionen, die ein Anbieter für einen oder mehrere Empfänger freigeben möchte. Wenn Ihr Empfänger einen Mit Unity-Katalog aktivierten Databricks-Arbeitsbereich verwendet, können Sie auch Notizbuchdateien, Ansichten (einschließlich dynamischer Ansichten, die den Zugriff auf Zeilen- und Spaltenebene einschränken), Unity-Katalogvolumes und Unity-Katalogmodelle in einer Freigabe einschließen.
Sie können Tabellen, Streamingtabellen, verwaltete Iceberg-Tabellen, Ansichten, materialisierte Ansichten, Volumes, Modelle und Notizbuchdateien jederzeit aus einer Freigabe hinzufügen oder entfernen, und Sie können datenempfängerzugriff auf eine Freigabe jederzeit zuweisen oder widerrufen.
In einem Unity Catalog-fähigen Azure Databricks-Arbeitsbereich ist eine Freigabe ein sicherungsfähiges Objekt, das in Unity Catalog registriert ist. Wenn Sie eine Freigabe aus Ihrem Unity Catalog-Metastore entfernen, verlieren alle Empfänger dieser Freigabe den Zugriff darauf.
Siehe Erstellen von Freigaben für OpenSharing.
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 OpenSharing-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 vorhandenen Arbeitsbereiche in den Unity-Katalog migrieren. Sie können einfach einen neuen Unity Catalog-fähigen Arbeitsbereich für Ihre OpenSharing-Anforderungen erstellen.
Wenn sich ein Empfänger in einem Databricks-Arbeitsbereich mit Unity Catalog-Unterstützung befindet, ist der Anbieter ebenfalls ein sicherungsfähiges Unity Catalog-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 Aktien von einem Anbieter erhält. In Unity Catalog ist eine Freigabe ein sicherungsfähiges Objekt, das eine Organisation darstellt und sie mit Anmeldeinformationen oder einem Bezeichner für sichere Freigaben verknüpft, die dieser Organisation den Zugriff auf eine oder mehrere Freigaben ermöglichen.
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-Metastore löscht, verliert dieser Empfänger den Zugriff auf alle Freigaben, auf die er zuvor zugreifen konnte.
Siehe Datenempfänger für OpenSharing erstellen (Databricks-zu-Databricks-Datenaustausch).
Databricks-to-Open-Freigabe im Vergleich zur Databricks-zu-Databricks-Freigabe
In diesem Abschnitt werden die beiden Protokolle für die Freigabe aus einem Unity Catalog-fähigen Databricks-Arbeitsbereich beschrieben.
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-OpenSharing-Servers zum Freigeben aus einer Plattform, die nicht zu Databricks gehört, oder einem Arbeitsbereich ohne Unity Catalog finden Sie im Open-Source-Projekt.
Die Art und Weise, wie ein Anbieter OpenSharing in Azure Databricks verwendet, hängt davon ab, für wen er Daten freigibt:
- mit Freigabe können Sie Daten für jeden Benutzer freigeben, unabhängig davon, ob sie Zugriff auf Azure Databricks haben.
- Mit der Databricks-to-Databricks-Freigabe können Sie Daten für Azure Databricks-Benutzer freigeben, deren Arbeitsbereich einem Unity Catalog-Metastore zugeordnet ist, der sich von Ihrem unterscheidet. Databricks-to-Databricks unterstützt auch die Notizbuch-, Volume- und Modellfreigabe, die in databricks-to-Open-Freigabe nicht verfügbar ist.
Was ist Open OpenSharing?
Wenn Sie Daten für Benutzer außerhalb Ihres Azure Databricks Arbeitsbereichs freigeben möchten, unabhängig davon, ob sie Databricks verwenden, können Sie OpenSharing verwenden, um Ihre Daten sicher freizugeben. Als Datenanbieter verwalten Sie die Authentifizierung mit dem Freigabeempfänger mittels einer der folgenden Methoden:
- Sie generieren ein langlebiges Bearertoken und teilen es sicher mit dem Empfänger. 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ährt haben.
- Sie verwenden die OpenID Connect (OIDC)-Föderation und gewähren dem Empfänger kurzlebige Databricks OAuth-Token im Austausch für JWT-Token, die der Identitätsanbieter (IdP) des Empfängers an Databricks weitergibt.
Empfänger können mithilfe vieler Computertools und Plattformen auf die freigegebenen Daten zugreifen, darunter:
- Azure Databricks
- Apache Spark
- Pandas
- Power BI
Eine vollständige Liste der OpenSharing-Connectors und Informationen zur Verwendung finden Sie in der OpenSharing-Dokumentation .
Siehe auch Was ist das OpenSharing Databricks-to-Open Sharing-Protokoll?.
Was ist Databricks-to-Databricks OpenSharing?
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 Databricks-to-Databricks OpenSharing verwenden. Mit dem Teilen zwischen Databricks-Konten können Sie Daten mit Nutzern in anderen Databricks-Konten teilen, unabhängig davon, ob sie AWS, Azure oder GCP verwenden. Es ist auch eine hervorragende Möglichkeit, Daten in verschiedenen Unity-Katalog-Metastores in Ihrem eigenen Databricks-Konto sicher freizugeben. Beachten Sie, dass OpenSharing nicht zum Freigeben von Daten zwischen Arbeitsbereichen verwendet werden muss, 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 besteht darin, dass der Freigabeempfänger kein Token benötigt, um auf die Freigabe zuzugreifen, und der Anbieter muss keine Empfängertoken verwalten. Die Sicherheit der Freigabeverbindung – einschließlich der gesamten Identitätsprüfung, Authentifizierung und Auditierung – wird vollständig durch OpenSharing und die Databricks-Plattform verwaltet. Ein weiterer Vorteil ist die Möglichkeit, Databricks-Notizbuchdateien, Unity-Katalogvolumes und Unity-Katalogmodelle zu teilen.
Siehe auch Was ist das OpenSharing Databricks-to-Databricks-Protokoll?.
Wie richten Anbieteradministratoren OpenSharing ein?
In diesem Abschnitt erhalten Sie einen Überblick darüber, wie Anbieter Open Sharing aktivieren und die Freigabe über einen für Unity Catalog aktivierten Azure-Databricks-Arbeitsbereich starten können. Informationen zu Open Source OpenSharing finden Sie im Open Source Projekt.
Die Databricks-zu-Databricks-Freigabe zwischen Unity Catalog-Metastores im selben Konto ist immer aktiviert. Wenn Sie ein Anbieter sind, der OpenSharing zum Freigeben von Daten mit Databricks-Arbeitsbereichen in anderen Konten oder Nicht-Databricks-Clients aktivieren möchte, führt ein Azure Databricks Kontoadministrator oder Metastore-Administrator die folgenden Einrichtungsschritte aus (auf hoher Ebene):
Aktivieren Sie OpenSharing für den Unity-Katalog-Metastore, der die Daten verwaltet, die Sie freigeben möchten.
Hinweis
Sie müssen OpenSharing nicht in Ihrem Metastore aktivieren, wenn Sie OpenSharing verwenden möchten, um Daten nur für Benutzer in anderen Unity-Katalog-Metastores in Ihrem Konto freizugeben. Die Metastore-zu-Metastore-Freigabe innerhalb eines einzelnen Azure-Databricks-Kontos ist standardmäßig aktiviert.
Erstellen Sie eine Freigabe, die Datenressourcen enthält, die im Unity Catalog-Metastore registriert sind.
Wenn Sie mit einem Empfänger ohne Databricks teilen (auch als Databricks-to-Open-Sharing bezeichnet), können Sie Tabellen im Delta-Format einschließen. 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.
Erstellen Sie einen Empfänger.
Siehe Datenempfänger für OpenSharing erstellen (Databricks-zu-Databricks-Datenaustausch).
Wenn Ihr Empfänger kein Databricks-Benutzer ist oder keinen Zugriff auf einen Databricks-Arbeitsbereich hat, der für Unity-Katalog aktiviert ist, müssen Sie die Databricks-to-Open-Freigabe verwenden. Sie können für diesen Empfänger entweder Anmeldeinformationen basierend auf Berechtigungstoken generieren oder den OIDC-Partnerverbund verwenden.
Wenn Ihr Empfänger Zugriff auf einen Databricks-Arbeitsbereich hat, der für den Unity-Katalog aktiviert ist, können Sie die Datenbricks-zu-Databricks-Freigabe verwenden, und es sind keine tokenbasierten Anmeldeinformationen erforderlich. Sie fordern einen Freigabebezeichner vom Empfänger an und verwenden ihn, um die sichere Verbindung herzustellen.
Tip
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 OpenSharing-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. Siehe Unity Catalog-Berechtigungsreferenz.Senden Sie dem Empfänger die Informationen, die er benötigt, um sich mit der Freigabe zu verbinden (nur bei Databricks-zu-Open Sharing).
Verwenden Sie für databricks-to-Open-Freigabe mithilfe von Bearertoken einen sicheren Kanal, um dem Empfänger einen Aktivierungslink zu senden, über den sie ihre tokenbasierten Anmeldeinformationen herunterladen können. Weitere Informationen finden Sie unter Senden der Verbindungsinformationen an den Empfänger.
Senden Sie für die Databricks-to-Open-Freigabe mithilfe des OIDC-Tokenverbunds die generierte Portal-URL. Siehe Aktivieren des Open ID Connect (OIDC)-Partnerverbunds für OpenSharing-Empfänger.
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:
Databricks-to-Open-Freigabe (Empfänger verfügt nicht über einen Databricks-Arbeitsbereich, der für Unity-Katalog aktiviert ist) verfügt über zwei Optionen:
- Im Bearertokenflow stellt der Empfänger die Anmeldeinformationen bereit, wenn er in einem Tool seiner Wahl auf die Daten zugreift, z. B. in Apache Spark, Pandas, Power BI, Databricks und vielen mehr. Siehe Lesen von Daten, die mit OpenSharing Databricks-to-Open-Freigabe mit Bearertoken freigegeben wurden.
- Im OIDC-Tokenverbundablauf greift der Empfänger oder die Client-App des Empfängers mit seinem eigenen Identitätsanbieter (IdP) auf die Daten zu. Siehe Lesen von Daten, die mithilfe des Open ID Connect (OIDC)-Partnerverbunds in einem U2M-Fluss freigegeben wurden, und Lesen von Daten, die mithilfe des Open ID Connect (OIDC)-Verbunds in einem M2M-Fluss freigegeben wurden.
Databricks-to-Databricks (Empfängerarbeitsbereich ist für Unity Catalog aktiviert): Der Empfänger greift mithilfe von Databricks auf die Daten zu. Sie können Unity-Katalog verwenden, um anderen Benutzern in ihrem Databricks-Konto Zugriff zu gewähren und zu verweigern. Siehe Freigegebene Daten über Databricks-to-Databricks OpenSharing lesen (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. Informationen zum Zugreifen auf Daten, die mit OpenSharing für Sie freigegeben wurden, finden Sie unter Access-Daten, die mit OpenSharing (für Empfänger) für Sie freigegeben wurden.
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. Siehe Audit und Überwachung der Datenfreigabe.
Datenempfänger, die freigegebene Daten in einem Databricks-Arbeitsbereich verwenden, können die Datenbricks-Überwachungsprotokollierung und Systemtabellen verwenden, um zu verstehen, wer auf welche Daten zugreift. Siehe Audit und Überwachung der Datenfreigabe.
Freigabe von Volumes
Sie können Volumes mithilfe des Databricks-to-Databricks-Freigabeflows freigeben. Siehe Volumes zu einer Freigabe hinzufügen (für Anbieter) und Freigegebene Daten lesen, die mithilfe von Databricks-zu-Databricks Open Sharing bereitgestellt werden (für Empfänger).
Teilmodelle
Sie können Volumes mithilfe des Databricks-to-Databricks-Freigabeflows freigeben. Siehe Hinzufügen von Modellen zu einer Freigabe (für Anbieter) und Lesen von Daten, die über Databricks-to-Databricks OpenSharing freigegeben wurden (für Empfänger).
Freigeben von Notizbüchern
Sie können OpenSharing verwenden, um Notebook-Dateien mithilfe des Databricks-zu-Databricks-Freigabeablaufs 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 beim Freigeben von Ansichten
Sie können dynamische Ansichten freigeben, die den Zugriff auf bestimmte Tabellendaten basierend auf Empfängereigenschaften einschränken. Weitere Informationen finden Sie unter Hinzufügen dynamischer Ansichten zu einer Freigabe, um Zeilen und Spalten zu filtern.
OpenSharing und Streaming
OpenSharing unterstützt Apache Spark Structured Streaming. Ein Anbieter kann eine Tabelle mit Verlauf oder einer Streamingtabelle freigeben, sodass ein Empfänger sie als strukturierte Streamingquelle verwenden kann und freigegebene Daten inkrementell mit geringer Latenz verarbeitet. 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 mit Apache Spark Structured Streaming (für Empfänger von Databricks-zu-Databricks-Freigaben) oder Zugreifen auf eine freigegebene Tabelle mithilfe von Spark Structured Streaming (für Empfänger von Databricks-to-Open-Freigabedaten).
Informationen zum Freigeben von Streamingtabellen finden Sie unter Hinzufügen von Streamingtabellen zu einer Freigabe.
Siehe auch Strukturierte Streaming-Konzepte.
Unterstützungsmatrix für Delta Lake-Features
OpenSharing unterstützt die meisten Delta Lake-Features, wenn Sie eine Tabelle freigeben. Diese Support-Matrix listet auf:
- Delta-Funktionen, die bestimmte Versionen von Databricks Runtime, den Open-Source-OpenSharing-Spark-Connector oder den Open-Source-OpenSharing-Python-Connector erfordern.
- Teilweise unterstützte Features.
| Feature | Provider | Databricks-Empfänger | Open Source-Empfänger |
|---|---|---|---|
| Vektoren löschen |
|
|
|
| Spaltenzuordnung |
|
|
|
| Einheitliches Format |
|
|
|
| V2-Prüfpunkt | Unterstützt mit Einschränkungen | Unterstützt mit Einschränkungen | Unterstützt mit Einschränkungen |
| TimestampNTZ | Supported | Databricks Runtime 14.1 und höher | OpenSharing Spark Connector 3.3+ |
| Flüssigkeitsclusterbildung | Unterstützt mit Einschränkungen | Unterstützt mit Einschränkungen | Unterstützt mit Einschränkungen |
Häufig gestellte Fragen zu OpenSharing
Im Folgenden werden häufig gestellte Fragen zu OpenSharing gestellt.
Benötige ich Unity-Katalog für die Verwendung von OpenSharing?
Nein, Sie benötigen Unity Catalog nicht für die Freigabe (als Anbieter) oder die Nutzung freigegebener Daten (als Empfänger). 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 teilen Sie sie mit dem integrierten Azure Databricks OpenSharing-Server.
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. Weitere Informationen finden Sie unter "Erste Schritte mit Unity-Katalog".
Implementieren Sie den Databricks-to-Open-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 OpenSharing-Connectors, die für viele Datenplattformen verfügbar sind, einschließlich Power BI, Pandas und Open Source Apache Spark. Siehe Lesen von Daten, die mithilfe von OpenSharing Databricks-to-Open Sharing mit Bearer-Token geteilt wurden und das OpenSharing Open-Source-Projekt.
In einem Databricks-Arbeitsbereich. Empfängerarbeitsbereiche müssen nicht für Unity Catalog aktiviert werden, dies bietet jedoch Vorteile in Bezug auf Governance, Einfachheit und Leistung.
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 den 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. Weitere Informationen finden Sie unter "Erste Schritte mit Unity-Katalog".
Weitere Informationen finden Sie unter Lesen von Daten, die mit OpenSharing Databricks-to-Open-Freigabe mit Bearertoken freigegeben wurden, und Lesen von Daten, die mithilfe von Databricks-to-Databricks OpenSharing (für Empfänger) freigegeben wurden.
Muss ich ein Databricks-Kunde sein, um OpenSharing zu verwenden?
Nein, OpenSharing ist ein offenes Protokoll. Sie können Nicht-Databricks-Daten für Empfänger auf jeder Beliebigen Datenplattform freigeben. Anbieter können einen offenen OpenSharing-Server so konfigurieren, dass er von jeder Computerplattform aus freigegeben wird. Empfänger können freigegebene Daten mithilfe von Open Source OpenSharing-Connectors für viele Datenprodukte nutzen, einschließlich Power BI, Pandas und Open Source Spark.
Die Verwendung von OpenSharing in Azure Databricks, insbesondere das Freigeben aus einem Workspace mit aktiviertem Unity Catalog, hat jedoch viele Vorteile.
Ausführliche Informationen finden Sie in der ersten Frage in diesen häufig gestellten Fragen.
Wie kann ich OpenSharing-Kosten ein- und überprüfen?
Die Kosten für OpenSharing entstehen beim Teilen und beim Zugreifen auf Ansichten, materialisierte Ansichten und Streaming-Tabellen. Dies sind die potenziellen Kostenquellen für das Teilen:
- Von Azure Databricks berechnete Computerkosten.
- Speicher- und Netzwerkübertragungskosten (Ausgang), die vom Speicheranbieter in Rechnung gestellt werden, oder durch Azure Databricks, wenn der Anbieter SecureConnect verwendet.
- Kosten für externe Berechnungsquellen bei der Freigabe von Fremdschemas und -tabellen.
Die Methode, mit der berechnet wird und wer dafür zahlt, hängt von mehreren Faktoren ab:
- Die Art der empfangenden Datenverarbeitung
- Gibt an, ob die Freigabe innerhalb desselben Azure Databricks Kontos oder über Konten hinweg erfolgt.
Die folgende Tabelle beschreibt die Abrechnungsmethode beim Freigeben von und Zugreifen auf Ansichten mit OpenSharing:
| Empfängerberechnung | Kontobeziehung | Wer zahlt | SKU, die für die Abrechnung verwendet wird | Zugriffsverfahren |
|---|---|---|---|---|
| Databricks Serverless | Any | Recipient* | Serverlose Architektur des Empfängers | Empfänger erhält direkten Zugriff auf zugrunde liegende Daten |
| Databricks Klassik | Gleiches Konto | Recipient* | Der Klassiker des Empfängers | Empfänger erhält direkten Zugriff auf zugrunde liegende Daten |
| Databricks Klassik | Anderes Konto | Recipient | Interaktive serverlose Dienste des Anbieters | Anbieter führt Filterung durch |
| Databricks-zu-offener-Freigabe-Konnektoren | Any | Provider | Interaktive serverlose Dienste des Anbieters | Anbieter führt Filterung durch |
* Wenn Sie OpenSharing mit einem Empfänger mit Serverless Compute in einem anderen Konto oder mit einem Empfänger im selben Konto verwenden, gibt es keine inkrementelle Gebühr. Dies bedeutet, dass es keine zusätzlichen Kosten für die Materialisierung der Datenressource gibt.
Beim Freigeben von Fremdtabellen (Beta) erfolgt die Materialisierung immer und wird auf der Anbieterseite gespeichert. Bei ausländischen Iceberg-Tabellen wird die Materialisierung auf der Seite des Anbieters ausgeführt, wenn die Freigabe für einen offenen Empfänger nicht mit einem Iceberg-Client erfolgt. Anbieter sehen möglicherweise eine zusätzliche Gebühr, die dem Standardspeicher zugeordnet ist, der für die Datenmaterialisierung verwendet wird. Während der Betaversion gibt es keine Berechnungskosten für fremdtabellen.
Die Abrechnungszuordnung kann auch mithilfe der Referenz zur Abrechnungssystemtabelle und openSharing materialization history system table reference abfragt werden. Wenn der Empfänger für die Attribution bezahlt, kann nur der Empfänger den zugehörigen Datensatz in der Systemtabelle sehen. Beispielabfragen finden Sie unter Beispielabfragen.
Entstehen durch OpenSharing Kosten für ausgehenden Datenverkehr?
OpenSharing innerhalb einer Region verursacht keine Egress-Kosten. Im Gegensatz zu anderen Datenfreigabeplattformen erfordert OpenSharing 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 von Cloudflare R2, die keine Ausgangsgebühren verursacht, und bietet weitere Tools und Empfehlungen, um Gebühren zu überwachen und zu vermeiden. Siehe Überwachen und Verwalten von OpenSharing-Ausgangskosten (für Anbieter).
Wenn der Anbieter Jedoch SecureConnect verwendet, wird die Datenübertragung von Azure Databricks anstelle des Cloudanbieters in Rechnung gestellt.
Haben Empfänger direkten Zugriff auf die zugrunde liegenden Daten in freigegebenen Ansichten, materialisierten Ansichten und Streamingtabellen?
Für freigegebene Ansichten, materialisierte Ansichten und Streamingtabellen hat der Datenempfänger direkten Zugriff, wenn einer der folgenden Werte zutrifft:
- Der Empfänger verwendet serverloses Computing oder nicht dedizierte klassische Rechenleistung auf demselben Azure Databricks-Konto.
- Der Empfänger verwendet serverlose Berechnung für ein anderes Azure Databricks-Konto.
Andernfalls werden Daten materialisiert und auf der Seite des Anbieters gefiltert.
Die Datenmaterialisierung wird unter dem übergeordneten Speicherort des gemeinsam genutzten Assets gespeichert.
Beim Teilen materialisierter Ressourcen verarbeitet das Rechensystem die Anfrage, indem erforderliche Filter angewendet und eine temporäre materialisierte Zwischenspeicherung im Provider-Speicher erstellt wird. Diese gefilterten Daten werden empfängern mit vorsignierten kurzlebigen URLs übermittelt und stellen sicheren Zugriff sicher, während die Zugriffssteuerung des Anbieters zu Empfängern beibehalten wird.
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 von Datenempfängern für OpenSharing (Databricks-to-Databricks-Freigabe).
Ist es nicht unsicher, vorsignierte URLs zu verwenden?
OpenSharing verwendet vorsignierte URLs, um temporären Zugriff auf eine Datei im Objektspeicher zu ermöglichen. 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 OpenSharing Databricks-to-Open-Freigabeprotokoll sicher verwendet?
Da OpenSharing 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.
Was ist der Unterschied zwischen Lakeflow Connect und OpenSharing?
OpenSharing ermöglicht es Ihnen, Livedaten über Plattformen, Clouds und Regionen hinweg sicher freizugeben. Databricks empfiehlt die Aufnahme mithilfe von verwalteten Connectors, da sie skaliert werden, um hohe Datenvolumes, Abfragen mit geringer Latenz und API-Grenzwerte von Drittanbietern zu berücksichtigen. Möglicherweise möchten Sie Ihre Daten jedoch abfragen, ohne sie zu verschieben.
Wenn Sie zwischen verwalteten Connectors und OpenSharing wählen, wählen Sie OpenSharing für die folgenden Szenarien aus:
- Einschränken der Datenduplizierung.
- Abfragen der neuesten möglichen Daten.
Einschränkungen
Tabellenformat und Unterstützung von Funktionen
Formatanforderungen:
- Tabellarische Daten müssen im Delta - oder verwalteten Iceberg-Tabellenformat vorliegen. Sie können ganz einfach Parquet-Tabellen in das Delta-Format und wieder zurück konvertieren. Siehe CONVERT TO DELTA.
- OpenSharing kann nur UniForm-Tabellen als Delta-Tabellen lesen.
Nicht unterstützte Tabellen:
- Anbieter können keine Tabellen freigeben, die flüssigen Clustering mit Partitionsfilterung verwenden.
- Anbieter können R2-Tabellen nicht mit dem V2-Prüfpunkt teilen.
- Anbieter können keine Tabellen mit aktivierten Kollationen freigeben.
- Anbieter können Tabellen nicht mit Zeilenfiltern oder Spaltenmasken teilen.
- Anbieter können
SHALLOW CLONETabellen nicht freigeben. Azure Databricks unterstützt keine Vorsignierung von URLs für Delta-Protokolle, die auf absolute Pfade verweisen. - Anbieter können verwaltete Iceberg-Tabellen nicht für externe Iceberg-Clients freigeben. Siehe Verwaltete Iceberg-Tabellen zu einer Freigabe hinzufügen und Freigabe für externe Iceberg-Clients aktivieren.
- Fremdschlüsseleinschränkungen sind in freigegebenen Tabellen nicht verfügbar.
Nur Databricks-to-Databricks-Freigabe
Die folgenden Ressourcen können nur mithilfe des Databricks-to-Databricks-Freigabeflusses freigegeben werden:
- Notizbuchfreigabe. Siehe Notebook-Dateien zu einer Freigabe hinzufügen und Mit Databricks-to-Databricks OpenSharing freigegebene Daten lesen (für Empfänger).
- Volumenfreigabe. Siehe Volumes zu einer Freigabe hinzufügen (für Anbieter) und Mit Databricks-to-Databricks OpenSharing freigegebene Daten lesen (für Empfänger).
- Modellfreigabe. Siehe Modelle zu einer Freigabe hinzufügen (für Anbieter) und Daten lesen, die mit Databricks-to-Databricks OpenSharing freigegeben wurden (für Empfänger).
Views
- Freigegebene Sichten müssen für Delta-Tabellen oder andere freigabefähige Sichten 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).
Streaming
- OpenSharing unterstützt das Ändern von
responseFormatnicht, während eine Streamingquelle aktiv ist oder während Streaming-Neustarts.
Empfängermetadaten
- Die Tabellen aus
information_schemaeinem freigegebenen Katalog spiegeln Metadaten wider, die im Unity-Katalog gespeichert sind. Diese Metadaten werden nur vom Anbieter aktualisiert, wenn Sie die freigegebene Tabelle direkt abfragen oder einen Befehl wie BESCHREIBEN oder REFRESH FOREIGNausführen. Bis dahin könnteinformation_schemaim Vergleich zu den Daten des Anbieters als veraltet erscheinen.
Ressourcen- und technische Grenzen
- 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_schemakönnen nicht in einen Unity Catalog-Metastore importiert werden, da dieser Schemaname in Unity Catalog reserviert ist.
Siehe auch Delta Lake-Featureunterstützungsmatrix.
Kaskadenlöschungen umgehen den Freigabeschutz
Beim Löschen eines übergeordneten Objekts, z. B. eines Katalogs oder Schemas, wird eine Kaskadenlöschung der untergeordneten Objekte ausgelöst, auch wenn diese untergeordneten Objekte in aktiven Freigaben enthalten sind. Nachdem eine Kaskadenlöschung eine Ressource entfernt hat, können Sie keine Ressource mit demselben Namen erneut zur Freigabe hinzufügen.
Um dieses Problem zu vermeiden, entfernen Sie Objekte aus allen Freigaben, bevor Sie die übergeordneten Objekte löschen.
Ressourcenkontingente
Azure Databricks erzwingt Ressourcenkontingente für alle sicherungsfähigen OpenSharing-Objekte. 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 Catalog-Ressourcenkontingenten.