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 beschrieben, wie Sie Daten lesen, die unter Verwendung des Databricks-zu-Databricks-Delta Sharing-Protokolls für Sie freigegeben wurden, in dem Databricks eine sichere Verbindung für die Datenfreigabe verwaltet. Im Gegensatz zum offenen Freigabeprotokoll von Delta Sharing erfordert das Databricks-to-Databricks-Protokoll keine Anmeldeinformationsdatei (tokenbasierte Sicherheit).
Die Databricks-zu-Databricks-Freigabe erfordert, dass Sie als empfangende Person beide der folgenden Anforderungen erfüllen:
- Sie haben Zugriff auf einen Databricks-Arbeitsbereich, der für Unity-Katalog aktiviert ist.
- Der Anbieter verwendet das Databricks-to-Databricks Delta-Sharing-Protokoll, nicht das offene Sharing-Protokoll, das Ihnen eine Zugangsdaten-Datei bereitstellt.
Wenn eine der Anforderungen nicht erfüllt ist, finden Sie weitere Informationen unter Lesen von Daten, die über offene Delta Sharing-Freigaben mit Bearertoken (für Empfangende) freigegeben wurden.
Wie stelle ich meinem Team freigegebene Daten zur Verfügung?
Zum Lesen von Daten und Notizbüchern, die für Sie mit dem Databricks-to-Databricks-Protokoll freigegeben wurden, müssen Sie ein Benutzer in einem Databricks-Arbeitsbereich sein, der für Unity-Katalog aktiviert ist. Ein Mitglied Ihres Teams stellt dem Datenanbieter einen eindeutigen Bezeichner für Ihren Unity Catalog-Metastore bereit, und der Datenanbieter verwendet diesen Bezeichner, um eine sichere Verbindung zur gemeinsamen Nutzung mit Ihrer Organisation zu erstellen. Die freigegebenen Daten stehen dann für den Lesezugriff in Ihrem Arbeitsbereich zur Verfügung. Aktualisierungen, die der Datenanbieter an freigegebenen Tabellen, Ansichten, Volumen und Partitionen vornimmt, werden in Ihrem Arbeitsbereich in nahezu Echtzeit wiedergegeben.
Hinweis
Spaltenänderungen, z. B. Hinzufügen, Umbenennen oder Löschen, werden im Katalog-Explorer möglicherweise bis zu einer Minute nicht angezeigt. Ebenso werden neue Freigaben und Aktualisierungen von Freigaben, einschließlich dem Hinzufügen neuer Tabellen, für eine Minute zwischengespeichert, bevor sie zum Anzeigen und Abfragen verfügbar sind.
So lesen Sie Daten, die für Sie freigegeben wurden:
- Ein Benutzer oder eine Benutzerin in Ihrem Team findet die Freigabe – den Container für die Tabellen, Ansichten, Volumes und Notebooks, die für Sie freigegeben wurden –, und verwendet diese Freigabe, um einen Katalog zu erstellen, den Container auf oberster Ebene für alle Daten in Databricks Unity Catalog.
- Ein Benutzer in Ihrem Team gewährt oder verweigert den Zugriff auf den Katalog und die Objekte innerhalb des Katalogs (Schemas, Tabellen, Ansichten und Volumes) für Mitglieder Ihres Teams.
- Sie lesen die Daten in den Tabellen, Ansichten und Volumes, auf die Ihnen Zugriff gewährt wurde, wie jede Datenressource in Databricks, auf die Sie schreibgeschützten Zugriff (
SELECToderREAD VOLUME) haben. - Sie können Notebooks in der Freigabe als Vorschau anzeigen und klonen, solange Sie über die Berechtigung
USE CATALOGfür den Katalog verfügen.
Erforderliche Berechtigungen:
Um Details zu allen Anbietern und Anbieterfreigaben auflisten und anzeigen zu können, müssen Sie Metastoreadministrator sein oder über die USE PROVIDER-Berechtigung verfügen. Andere Benutzer haben nur Zugriff auf die Anbieter und Freigaben, die sie besitzen.
Um einen Katalog aus einer Anbieterfreigabe zu erstellen, müssen Sie ein Metastoreadministrator, ein Benutzer mit den Berechtigungen CREATE CATALOG und USE PROVIDER für Ihren Unity Catalog-Metastore oder ein Benutzer, der sowohl über die CREATE CATALOG-Berechtigungen verfügt als auch Besitzer des Anbieterobjekts ist, sein.
Die Möglichkeit, schreibgeschützten Zugriff auf die Schemas (Datenbanken), Tabellen, Ansichten und Volumes im aus der Freigabe erstellten Katalog zu gewähren, folgt der typischen Unity Catalog-Berechtigungshierarchie. Die Möglichkeit, Notebooks im Katalog anzuzeigen, der aus der Freigabe erstellt wurde, erfordert die USE CATALOG-Berechtigung für den Katalog. Siehe Verwalten von Berechtigungen für die Schemas, Tabellen und Volumes in einem Delta-Freigabekatalog.
Anzeigen von Anbietern und Freigaben
Um mit dem Lesen der Daten zu beginnen, die von einem Datenanbieter für Sie freigegeben wurden, müssen Sie den Namen des Anbieters kennen und Objekte freigeben , die in Ihrem Unity Catalog-Metastore gespeichert sind, sobald der Anbieter Daten für Sie freigegeben hat.
Das Anbieterobjekt stellt den Unity Catalog-Metastore, die Cloudplattform und die Region der Organisation dar, die die Daten für Sie freigegeben hat.
Das Freigabeobjekt stellt die Tabellen, Volumes oder Ansichten dar, die der Anbieter für Sie freigegeben hat.
Anzeigen aller Anbieter, die Daten für Sie freigegeben haben
Um eine Liste der verfügbaren Datenanbieter anzuzeigen, können Sie den Katalog-Explorer, die Databricks Unity Catalog-Befehlszeilenschnittstelle oder den SQL-Befehl SHOW PROVIDERS in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden.
Erforderliche Berechtigungen: Sie müssen ein Metastore-Administrator sein oder über die USE PROVIDER Berechtigung verfügen. Andere Benutzer haben nur Zugriff auf die Anbieter und Anbieterfreigaben, die sie besitzen.
Ausführliche Informationen finden Sie unter Anbieter anzeigen.
Anzeigen von Anbieterdetails
Um eine Liste der verfügbaren Datenanbieter anzuzeigen, können Sie den Katalog-Explorer, die Databricks Unity Catalog-Befehlszeilenschnittstelle oder den SQL-Befehl DESCRIBE PROVIDER in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden.
Erforderliche Berechtigungen: Sie müssen ein Metastore-Administrator sein, über die Berechtigung oder das USE PROVIDER Anbieterobjekt verfügen.
Ausführliche Informationen finden Sie unter Anbieterdetails anzeigen.
Anzeigen von Freigaben
Um die Freigaben anzuzeigen, die ein Anbieter für Sie freigegeben hat, können Sie den Katalog-Explorer, die Databricks Unity Catalog-Befehlszeilenschnittstelle oder den SQL-Befehl SHOW SHARES IN PROVIDER in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden.
Erforderliche Berechtigungen: Sie müssen ein Metastore-Administrator sein, über die Berechtigung oder das USE PROVIDER Anbieterobjekt verfügen.
Weitere Informationen finden Sie unter Anzeigen von Freigaben, die Anbietende für Sie freigegeben haben.
Zugreifen auf Daten in einer freigegebenen Tabelle oder einem freigegebenen Volume
So lesen Sie Daten in einer freigegebenen Tabelle oder einem freigegebenen Volume:
- Ein*e privilegierte*r Benutzer*in muss einen Katalog aus der Freigabe erstellen, die die Tabelle oder das Volume enthält. Dies kann ein Metastoreadministrator, ein Benutzer mit den Berechtigungen
CREATE CATALOGundUSE PROVIDERfür Ihren Unity Catalog-Metastore oder ein Benutzer, der sowohl über dieCREATE CATALOG-Berechtigungen verfügt als auch Besitzer des Anbieterobjekts ist, sein. - Diese*r Benutzer*in oder ein*e Benutzer*in mit den gleichen Berechtigungen muss Ihnen Zugriff auf die freigegebene Tabelle oder das freigegebene Volume gewähren.
- Sie können auf die Tabelle oder das Volume wie auf jede andere Datenressource zugreifen, die in Ihrem Unity Catalog-Metastore registriert ist.
Erstellen eines Katalogs aus einer Freigabe
Um die Daten in einer Freigabe für Ihr Team zugänglich zu machen, müssen Sie einen Katalog aus der Freigabe erstellen oder die Freigabe in einen vorhandenen freigegebenen Katalog einbinden. Um einen Katalog aus einer Freigabe zu erstellen, können Sie den Katalog-Explorer, die Databricks Unity Catalog-Befehlszeilenschnittstelle oder SQL-Befehle in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden. Um die Freigabe in einem vorhandenen freigegebenen Katalog einzubinden, können Sie den Katalog-Explorer verwenden.
Zum Erstellen eines Katalogs erforderliche Berechtigungen: Ein Metastore-Administrator, ein Benutzer, der sowohl über die CREATE CATALOG- und USE PROVIDER-Berechtigungen für Ihren Unity Catalog-Metastore verfügt, oder ein Benutzer, der sowohl über die Berechtigung CREATE CATALOG als auch den Besitz des Anbieterobjekts verfügt.
Berechtigungen, die zum Bereitstellen der Freigabe an einem vorhandenen Katalog erforderlich sind: Ein Benutzer muss über die USE PROVIDER Berechtigung oder den Besitz des Anbieterobjekts verfügen und entweder den vorhandenen freigegebenen Katalog besitzen oder über die Berechtigungen MANAGE und USE CATALOG für den vorhandenen freigegebenen Katalog verfügen.
Hinweis
Wenn die Freigabe Ansichten enthält, müssen Sie einen Katalognamen verwenden, der sich von dem Namen des Katalogs, der die Ansicht im Metastore des Anbieters enthält, unterscheidet.
Catalog-Explorer
Klicken Sie im Azure Databricks-Arbeitsbereich auf das
Katalog zum Öffnen des Katalog-Explorers.
Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol
, und wählen Sie Delta Sharing aus.
Alternativ können Sie auf der Seite " Schnellzugriff " auf die Schaltfläche "Delta-Freigabe > " klicken.
Suchen Sie auf der Registerkarte "Mit mir geteilt" nach dem Anbieter und wählen Sie diesen aus.
Suchen Sie die gewünschte Freigabe, und klicken Sie in der Freigabezeile auf Im Katalog bereitstellen.
Wählen Sie "Neuen Katalog erstellen " oder "In vorhandenen Katalog bereitstellen " aus, um die Datenressource einem vorhandenen Katalog hinzuzufügen.
Geben Sie einen Namen für Ihren neuen Katalog ein oder wählen Sie aus, zu welchem vorhandenen Katalog Sie die Freigabe hinzufügen möchten.
Klicken Sie auf "Erstellen" oder "Bereitstellen".
Alternativ können Sie beim Öffnen des Katalog-Explorers oben rechts auf + > Katalog erstellen klicken, um einen freigegebenen Katalog zu erstellen. Siehe Erstellen von Katalogen.
SQL
Führen Sie in einem Notebook oder im Databricks SQL-Abfrage-Editor den folgenden Befehl aus.
CREATE CATALOG [IF NOT EXISTS] <catalog-name>
USING SHARE <provider-name>.<share-name>;
Befehlszeilenschnittstelle (CLI)
databricks catalogs create <catalog-name> /
--provider-name <provider-name> /
--share-name <share-name>
Der aus einer Freigabe erstellte Katalog weist den Katalogtyp Delta Sharing auf. Sie können den Typ auf der Katalogdetailseite im Katalog-Explorer anzeigen oder den SQL-Befehl DESCRIBE CATALOG in einem Notizbuch oder einer SQL-Abfrage von Databricks ausführen. Alle freigegebenen Kataloge werden im linken Bereich des Katalog-Explorers unter "Katalog > freigegeben " aufgeführt.
Ein Delta Sharing-Katalog kann auf dieselbe Weise verwaltet werden wie reguläre Kataloge in einem Unity Catalog-Metastore. Sie können einen Delta Sharing-Katalog mit dem Katalog-Explorer, der Databricks-Befehlszeilenschnittstelle und mithilfe der SQL-Befehle SHOW CATALOGS, DESCRIBE CATALOG, ALTER CATALOG und DROP CATALOG anzeigen, aktualisieren und löschen.
Die dreistufige Namespacestruktur unter einem aus einer Freigabe erstellten Delta Sharing-Katalog ist dieselbe wie unter einem regulären Katalog in Unity Catalog: catalog.schema.table oder catalog.schema.volume.
Tabellen- und Volumedaten in einem freigegebenen Katalog sind schreibgeschützt. Dies bedeutet, dass Sie die folgenden Lesevorgänge ausführen können:
-
DESCRIBE,SHOWundSELECTfür Tabellen. -
DESCRIBE VOLUME,LIST <volume-path>,SELECT * FROM <format>.'<volume_path>'undCOPY INTOfür Volumes.
Notebooks in einem freigegebenen Katalog können von jedem Benutzer mit USE CATALOG im Katalog in der Vorschau angezeigt und geklont werden.
Modelle in einem freigegebenen Katalog können von jedem Benutzer mit den folgenden Berechtigungen gelesen und geladen werden: EXECUTE-Berechtigungen für das registrierte Modell sowie USE SCHEMA- und USE CATALOG-Berechtigungen für das Schema und den Katalog, der das Modell enthält.
Verwalten von Berechtigungen für die Schemas und Tabellen in einem Delta Sharing-Katalog
Standardmäßig ist der Katalogersteller der Besitzer aller Datenobjekte in einem Delta Sharing-Katalog und kann Berechtigungen für jedes dieser Objekte verwalten.
Berechtigungen werden nach unten vererbt, obwohl einige Arbeitsbereiche möglicherweise noch das Legacysicherheitsmodell verwenden, bei dem keine Vererbung möglich war. Siehe Vererbungsmodell. Jeder Benutzer, dem die SELECT-Berechtigung für den Katalog gewährt wird, hat die SELECT-Berechtigung für alle Schemas und Tabellen im Katalog, es sei denn, diese Berechtigung wird widerrufen. Ebenso verfügen alle Benutzer*innen, denen die READ VOLUME-Berechtigung für den Katalog gewährt wird, über die READ VOLUME-Berechtigung für alle Volumes im Katalog, es sei denn, diese Berechtigung wird widerrufen. Sie können keine Berechtigungen gewähren, die Schreib- oder Updatezugriff auf einen Delta Sharing-Katalog oder auf Objekte in einem Delta Sharing-Katalog gewähren.
Der Katalogbesitzer kann den Besitz von Datenobjekten an andere Benutzer oder Gruppen delegieren, wodurch diesen Benutzern die Möglichkeit zur Verwaltung der Objektberechtigungen und Lebenszyklen eingeräumt wird.
Ausführliche Informationen zum Verwalten von Berechtigungen für Datenobjekte mithilfe des Unity-Katalogs finden Sie unter Verwalten von Berechtigungen im Unity-Katalog.
Lesen von Daten in einer freigegebenen Tabelle
Sie können Daten in einer freigegebenen Tabelle mit jedem der Tools lesen, die Ihnen als Azure Databricks-Benutzer*in zur Verfügung stehen: Katalog-Explorer, Notebooks, SQL-Abfragen, Databricks-Befehlszeilenschnittstelle und Databricks-REST-APIs. Sie müssen über die SELECT-Berechtigung für die Tabelle verfügen.
Lesen von Daten in einer freigegebenen Fremdtabelle oder einem freigegebenen Fremdschema
Wichtig
Dieses Feature befindet sich in der Betaversion. Arbeitsbereichsadministratoren können den Zugriff auf dieses Feature über die Vorschauseite steuern. Siehe Verwalten von Azure Databricks-Vorschauen.
Sie können Daten in einer freigegebenen fremdsprachigen Tabelle oder einem fremden Schema lesen, indem Sie eines der Tools verwenden, die Ihnen als Azure Databricks-Benutzer zur Verfügung stehen: Katalog-Explorer, Notizbücher, SQL-Abfragen, databricks CLI und Databricks-REST-APIs. Sie müssen über die SELECT Berechtigung für die freigegebene Fremdtabelle oder das Fremdschema verfügen.
Beim Zugriff auf eine freigegebene Fremdtabelle oder ein fremdes Schema gibt es zusätzliche Kosten. Informationen dazu, wie die Kosten für Delta Sharing entstehen und überprüft werden können, finden Sie unter Wie kann ich die Delta Sharing-Kosten einsehen und überprüfen?.
Lesen von Daten in einem freigegebenen Volume
Sie können Daten in einem freigegebenen Volume mit jedem der Tools lesen, die Ihnen als Azure Databricks-Benutzer*in zur Verfügung stehen: Katalog-Explorer, Notebooks, SQL-Abfragen, Databricks CLI und Databricks-REST-APIs. Sie müssen über die READ VOLUME-Berechtigung für das Volume verfügen.
Lesen von ABAC-gesicherten Daten und Anwenden von ABAC-Richtlinien
Wichtig
Dieses Feature befindet sich in der öffentlichen Vorschau.
Attributbasierte Zugriffssteuerung (Access Control, ABAC) ist ein Datengovernancemodell, das flexible, skalierbare und zentralisierte Zugriffssteuerung für Azure Databricks bereitstellt.
Kontoadministratoren auf der Empfängerseite müssen die attributbasierte Zugriffssteuerung für die Delta-Freigabe in kontokonsolenvorschauen aktivieren, um freigegebene Tabellen zu lesen, die durch ABAC-Richtlinien gesichert sind. Dadurch wird sichergestellt, dass die Abfrageergebnisse korrekt sind. Andernfalls besteht ein Risiko, dass Daten nicht ordnungsgemäß geregelt werden.
Erstellen Sie ABAC-Richtlinien für freigegebene Tabellen, Schemas und Kataloge, die aus einer Freigabe erstellt wurden. Materialisierte Ansichten werden mit Einschränkungen unterstützt. Sie können keine ABAC-Richtlinien für freigegebene Streamingtabellen oder materialisierte Ansichten erstellen. Informationen zum Konfigurieren von ABAC-Richtlinien finden Sie unter Erstellen und Verwalten von Attributbasierten Zugriffssteuerungsrichtlinien (ABAC).
Laden eines gemeinsam genutzten Modells für den Rückschluss
Ausführliche Informationen zum Laden eines freigegebenen Modells und dessen Verwendung für die Batch-Ableitung finden Sie unter Laden der Modellversion nach Alias für Inference-Workloads.
Abfragen der Verlaufsdaten einer Tabelle
Wenn der Verlauf zusammen mit der Tabelle freigegeben wird, können Sie die Tabellendaten ab einer Version oder einem Zeitstempel abfragen. Erfordert Databricks Runtime 12.2 LTS oder höher.
Zum Beispiel:
SELECT * FROM vaccine.vaccine_us.vaccine_us_distribution VERSION AS OF 3;
SELECT * FROM vaccine.vaccine_us.vaccine_us_distribution TIMESTAMP AS OF "2023-01-01 00:00:00";
Wenn der Änderungsdatenfeed (CDF) mit der Tabelle aktiviert ist, können Sie diesen auch abfragen. Sowohl Version als auch Zeitstempel werden unterstützt:
SELECT * FROM table_changes('vaccine.vaccine_us.vaccine_us_distribution', 0, 3);
SELECT * FROM table_changes('vaccine.vaccine_us.vaccine_us_distribution', "2023-01-01 00:00:00", "2022-02-01 00:00:00");
Weitere Informationen zum Ändern von Datenfeeds finden Sie unter Verwenden des Delta Lake-Änderungsdatenfeeds in Azure Databricks.
Abfragen einer Tabelle mithilfe von Apache Spark Structured Streaming
Wenn eine Tabelle für den Verlauf freigegeben wird, können Sie sie als Quelle für Spark Structured Streaming verwenden. Erfordert Databricks Runtime 12.2 LTS oder höher.
Unterstützte Optionen:
-
ignoreDeletes: Ignorieren von Transaktionen, die Daten löschen. -
ignoreChanges: Erneutes Verarbeiten von Updates, wenn Dateien in der Quelltabelle aufgrund eines Datenwechselvorgangs wieUPDATE,MERGE INTO,DELETE(innerhalb von Partitionen) oderOVERWRITEneu geschrieben werden mussten. Unveränderte Zeilen können weiterhin ausgegeben werden. Daher sollten Ihre Downstream-Consumer in der Lage sein, Duplikate zu verarbeiten. Löschungen werden nicht nachgeschaltet propagiert.ignoreChangessubsumiertignoreDeletes. Wenn SieignoreChangesverwenden, wird Ihr Stream daher weder durch Löschungen noch durch Aktualisierungen der Quelltabelle unterbrochen. -
startingVersion: Die freigegebene Tabellenversion, mit der gestartet werden soll. Alle Tabellenänderungen ab (und einschließlich) dieser Version werden von der Streamingquelle gelesen. -
startingTimestamp: Der Zeitstempel, ab dem gestartet werden soll. Alle Tabellenänderungen, die zum oder nach dem Zeitstempel (einschließlich) vorgenommen wurden, werden von der Streamingquelle gelesen. Beispiel:"2023-01-01 00:00:00.0" -
maxFilesPerTrigger: Die Anzahl der neuen Dateien, die in jedem Mikrobatch berücksichtigt werden sollen. -
maxBytesPerTrigger: Die Datenmenge, die in jedem Mikrobatch verarbeitet wird. Diese Option legt einen „soft max“ fest, was bedeutet, dass ein Batch ungefähr diese Datenmenge verarbeitet und möglicherweise mehr als den Grenzwert verarbeitet, um die Streamingabfrage voranzubringen, wenn die kleinste Eingabeeinheit größer als dieser Grenzwert ist. -
readChangeFeed: Lesen des Änderungsdatenfeeds der freigegebenen Tabelle im Stream.
Nicht unterstützte Optionen:
Trigger.availableNow
Beispiele strukturierter Streaming-Abfragen
Scala
spark.readStream.format("deltaSharing")
.option("startingVersion", 0)
.option("ignoreChanges", true)
.option("maxFilesPerTrigger", 10)
.table("vaccine.vaccine_us.vaccine_us_distribution")
Python
spark.readStream.format("deltaSharing")\
.option("startingVersion", 0)\
.option("ignoreDeletes", true)\
.option("maxBytesPerTrigger", 10000)\
.table("vaccine.vaccine_us.vaccine_us_distribution")
Wenn der Änderungsdatenfeed (CDF) mit der Tabelle aktiviert ist, können Sie den CDF per Stream lesen.
spark.readStream.format("deltaSharing")
.option("readChangeFeed", "true")
.table("vaccine.vaccine_us.vaccine_us_distribution")
Zeilenfilter und Spaltenmasken anwenden
Informationen zum Anwenden von Zeilenfiltern und Spaltenformaten auf Tabellen und Fremdtabellen, die von Ihrem Datenanbieter freigegeben werden, finden Sie unter Manuelles Anwenden von Zeilenfiltern und Spaltenformaten. Spaltenmasken können nicht auf Streamingtabellen oder materialisierte Sichten angewendet werden.
Lesen von Tabellen mit aktivierten Löschvektoren oder Spaltenzuordnungen
Wichtig
Dieses Feature befindet sich in der öffentlichen Vorschau.
Löschvektoren sind ein Speicheroptimierungsfeature, das Ihr Anbieter für freigegebene Delta-Tabellen aktivieren kann. Siehe Was sind Löschvektoren?.
Azure Databricks unterstützt auch die Spaltenzuordnung für Delta-Tabellen. Siehe Umbenennen und Löschen von Spalten mit der Delta Lake-Spaltenzuordnung.
Wenn Ihr Anbieter eine Tabelle mit aktivierten Löschvektoren oder Spaltenzuordnungen geteilt hat, können Sie Batchlesevorgänge in der Tabelle mithilfe eines SQL-Warehouses oder eines Clusters ausführen, in dem Databricks Runtime 14.1 oder höher ausgeführt wird. CDF- und Streamingabfragen erfordern Databricks Runtime 14.2 oder höher.
Sie können Batchabfragen wie folgt ausführen, da sie basierend auf den Tabellenfeatures der freigegebenen Tabelle automatisch responseFormat auflösen können.
Wenn Sie einen Änderungsdatenfeed (CDF) lesen oder Streamingabfragen für freigegebene Tabellen mit aktivierten Löschvektoren oder Spaltenzuordnungen ausführen möchten, müssen Sie die zusätzliche Option responseFormat=delta festlegen.
Die folgenden Beispiele zeigen Batch-, CDF- und Streamingabfragen:
import org.apache.spark.sql.SparkSession
// Batch query
spark.read.format("deltaSharing").table(<tableName>)
// CDF query
spark.read.format("deltaSharing")
.option("readChangeFeed", "true")
.option("responseFormat", "delta")
.option("startingVersion", 1)
.table(<tableName>)
// Streaming query
spark.readStream.format("deltaSharing").option("responseFormat", "delta").table(<tableName>)
Lesen gemeinsam verwaltete Iceberg-Tabellen
Wichtig
Dieses Feature befindet sich in der öffentlichen Vorschau.
Das Lesen freigegebener verwalteter Iceberg-Tabellen ist mit den folgenden Ausnahmen identisch mit dem Lesen freigegebener Tabellen:
Unterstützung beim offenen Austausch:
Die Anweisungen in diesem Artikel konzentrieren sich auf das Lesen freigegebener Daten mithilfe von Azure Databricks-Benutzeroberflächen, insbesondere mit Unity Catalog-Syntax und -Schnittstellen. Aufgrund der eingeschränkten Unterstützung fortgeschrittener Delta-Funktionen für Delta-Sharing-Connectors wird das Abfragen freigegebener und verwalteter Iceberg-Tabellen mit Python, Tableau und Power BI nicht unterstützt.
Datenfeed ändern:
Die Änderung des Datenfeeds wird für verwaltete Iceberg-Tabellen nicht unterstützt.
Einschränkungen für Azure Databricks Iceberg:
Für Iceberg-Tabellen und verwaltete Iceberg-Tabellen gelten Einschränkungen. Siehe Eisberg-Tabellenbeschränkungen.
Lesen freigegebener Ansichten
Das Lesen freigegebener Ansichten ist identisch mit dem Lesen freigegebener Tabellen mit diesen Ausnahmen:
Einschränkungen für freigegebene Ansichten:
- Freigegebene Ansichten unterstützen nur eine Teilmenge integrierter Funktionen und Operatoren in Databricks. Weitere Informationen finden Sie unter Funktionen, die in freigegebenen Ansichten von Databricks-zu-Databricks unterstützt werden.
- Empfänger können bei der Databricks-to-Databricks-Freigabe nicht mehr als 20 gemeinsame Ansichten in einer Abfrage abfragen. Die gemeinsamen Ansichten können nicht von mehr als fünf verschiedenen Anbietern stammen.
- Wenn der Anbieter aus demselben Konto stammt oder Wenn Sie serverlose Berechnungen in einem anderen Konto verwenden, können Sie nicht mehrere abhängige Ansichten desselben Anbieters in einer einzigen Abfrage abfragen.
Wenn
view1z. B. vonview2auf Anbieterseite abhängt und beide Ansichten für Sie freigegeben werden, können Sie nicht auf beideview1undview2in derselben Abfrage verweisen.
Benennungsanforderungen:
Der Katalogname, den Sie für den freigegebenen Katalog verwenden, der die Ansicht enthält, kann nicht mit dem Namen eines Anbieterkatalogs identisch sein, der eine Tabelle enthält, auf die in der Ansicht verwiesen wird. Wenn die freigegebene Ansicht beispielsweise in Ihrem test Katalog enthalten ist und eine der Tabellen des Anbieters, auf die in dieser Ansicht verwiesen wird, im Katalog des Anbieters test enthalten ist, führt die Abfrage zu einem Namespacekonfliktfehler. Weitere Informationen finden Sie unter Erstellen eines Katalogs aus einer Freigabe.
Timeout für Abfrageergebnis:
Wenn Sie keinen direkten Zugriff auf die zugrunde liegenden Daten haben, führt Azure Databricks beim Abfragen der Ansicht eine on-the-fly-Materialisierung durch. Wenn diese Materialisierung länger als 5 Minuten dauert, wird die Abfrage abgebrochen. Wechseln Sie zu serverlosem Rechnen, um diese Einschränkung zu vermeiden.
Geschichte und Streaming:
Sie können den Verlauf nicht abfragen oder eine Ansicht nicht als Streamingquelle verwenden.
Anzeigeunterstützung bei geöffneter Freigabe:
Die Anweisungen in diesem Artikel konzentrieren sich auf das Lesen freigegebener Daten mithilfe von Azure Databricks-Benutzeroberflächen, insbesondere mit Unity Catalog-Syntax und -Schnittstellen. Sie können auch freigegebene Ansichten mit Apache Spark, Python und BI-Tools wie Tableau und Power BI abfragen.
Kosten:
Informationen dazu, wie die Kosten für Delta Sharing entstehen und überprüft werden können, finden Sie unter Wie kann ich die Delta Sharing-Kosten einsehen und überprüfen?.
Lesen freigegebener Streamingtabellen und materialisierter Sichten
Das Lesen freigegebener Streamingtabellen und materialisierter Ansichten ist mit den folgenden Ausnahmen identisch mit dem Lesen freigegebener Tabellen:
Unterstützung beim offenen Austausch:
Die Anweisungen in diesem Artikel konzentrieren sich auf das Lesen freigegebener Daten mithilfe von Azure Databricks-Benutzeroberflächen, insbesondere mit Unity Catalog-Syntax und -Schnittstellen. Sie können auch freigegebene Streamingtabellen und materialisierte Ansichten mit Apache Spark, Python und BI-Tools wie Tableau und Power BI abfragen.
SQL-Einschränkungen:
- Die
current_recipient-Funktion wird nicht unterstützt. - Der
DESCRIBE EXTENDEDBefehl wird nicht unterstützt.
Spaltenzuordnung:
Wenn Sie beim Empfangen einer Freigabe von einem anderen Azure Databricks-Konto klassische Compute verwenden, müssen Sie das responseFormat wie unten angegeben verwenden, wenn Sie eine materialisierte Ansicht oder Streamingtabellen mit Spaltenzuordnung abfragen.
spark.read.option("responseFormat", "delta").table("catalog_name.schema_name.mv_name")
Wenn Sie klassisches Computing verwenden und innerhalb desselben Azure Databricks-Kontos oder -Servers freigeben oder in einem beliebigen Szenario serverloses Computing nutzen, können Sie ohne Einschränkungen Abfragen durchführen.
Kosten:
Informationen dazu, wie die Kosten für Delta Sharing entstehen und überprüft werden können, finden Sie unter Wie kann ich die Delta Sharing-Kosten einsehen und überprüfen?.
Spezifische Ausnahmen für materialisierte Sicht
Geschichte:
Sie können die Historie nicht abfragen.
Auffrischen:
Sie können nicht auf den Aktualisierungsstatus und den Aktualisierungszeitplan der materialisierten Ansicht zugreifen.
Erstellen einer Sicht und einer Streamingtabelle:
Sie können keine Streamingtabellen für freigegebene materialisierte Ansichten erstellen.
Spezifische Ausnahmen für Streamingtabelle
Geschichte:
Der Abfrageverlauf ist unter den folgenden Databricks-zu-Databricks-Freigabekonstellationen verfügbar:
Sie verwenden serverloses Computing, wenn Sie mit einem anderen Azure Databricks-Konto teilen.
Sie verwenden Serverless-Compute oder klassisches Compute bei der gemeinsamen Nutzung innerhalb desselben Azure Databricks-Kontos.
Weitere Informationen zu verschiedenen Berechnungen finden Sie unter Compute.
Auffrischen:
Sie können nicht auf den Aktualisierungsstatus und den Aktualisierungszeitplan der Streamingtabelle zugreifen.
Lesen freigegebener Python-UDFs
Das Lesen freigegebener Python-UDFs ist identisch mit dem Lesen freigegebener Tabellen. Nachdem Sie einen neuen Katalog für die Freigabe erstellt oder die Freigabe in einem vorhandenen Katalog eingebunden haben, können Sie die Python-UDF verwenden und auf sie zugreifen.
Gemeinsames lesenFeatureSpecs
Gemeinsames FeatureSpecs Lesen ist dasselbe wie das Lesen gemeinsamer Tabellen. Nachdem Sie einen neuen Katalog für die Freigabe erstellt oder die Freigabe in einem vorhandenen Katalog eingebunden haben, können Sie FeatureSpec zu Ihrem gewünschten Bereitstellungsendpunkt bereitstellen. Informationen zum Erstellen eines Endpunkts finden Sie unter Erstellen eines Endpunkts.
Wenn Ihr Anbieter FeatureSpec mit einer neuen Abhängigkeit aktualisiert, die Abhängigkeit jedoch nicht mit Ihnen teilt, schlägt Ihr Modell fehl. Wenden Sie sich an Ihren Datenanbieter, um nach neuen Abhängigkeiten zu suchen.
Bevor Sie den FeatureSpec bereitstellen, müssen Sie einen Online-Shop erstellen und die abhängigen Tabellen in Ihrer Arbeitsumgebung veröffentlichen. Anleitung zum Erstellen von Online-Stores und Veröffentlichen der Tabelle finden Sie unter Databricks Online Feature Stores.
Lesen freigegebener Notebooks
Sie können den Katalog-Explorer verwenden, um freigegebene Notebook-Dateien in der Vorschau anzuzeigen und zu klonen.
Speicherbeschränkung: Wenn Ihr Speicher private Endpunkte verwendet, können Sie freigegebene Notizbücher nicht lesen.
Erforderliche Berechtigungen: Katalogbesitz oder Benutzende mit der Berechtigung USE CATALOG für den Katalog, der aus der Freigabe erstellt wurde.
Klicken Sie im Azure Databricks-Arbeitsbereich auf das
Katalog.
Erweitern Sie im linken Bereich das Menü Katalog, suchen Sie den Katalog, der aus der Freigabe erstellt wurde, und wählen Sie ihn aus.
Auf der Registerkarte "Andere Objekte " werden alle freigegebenen Notizbuchdateien angezeigt.
Klicken Sie auf den Namen einer freigegebenen Notebookdatei, um eine Vorschau anzuzeigen.
(Optional:) Klicken Sie auf die Schaltfläche Klonen, um die freigegebene Notebookdatei in Ihren Arbeitsbereich zu importieren.
- Geben Sie im Dialogfeld "Klonen nach" optional einen neuen Namen ein, und wählen Sie dann den Arbeitsbereichsordner aus, in den Sie die Notizbuchdatei klonen möchten.
- Wählen Sie Klonen aus.
- Nachdem das Notizbuch geklont wurde, wird ein Dialogfeld angezeigt, in dem Sie darüber informiert werden, dass es erfolgreich geklont wurde. Klicken Sie im Dialogfeld auf Im Notebook-Editor anzeigen, um die Datei im Notebook-Editor anzuzeigen.
Siehe Databricks-Notizbücher.
Aufheben der Bereitstellung einer Freigabe
Heben Sie die Bereitstellung einer Freigabe auf, um die Datenressource aus dem Katalog zu entfernen.
Erforderliche Berechtigungen: Benutzer mit den USE CATALOG- und MANAGE-Berechtigungen für den freigegebenen Katalog.
Klicken Sie im Azure Databricks-Arbeitsbereich auf das
Katalog zum Öffnen des Katalog-Explorers.
Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol
, und wählen Sie Delta Sharing aus.
Alternativ können Sie auf der Seite " Schnellzugriff " auf die Schaltfläche "Delta-Freigabe > " klicken.
Suchen Sie auf der Registerkarte "Mit mir geteilt" nach dem Anbieter und wählen Sie diesen aus.
Klicken Sie in der Zeile "Freigeben" auf das
Klicken Sie auf "Freigabe aufheben".
Klicken Sie auf "Auswerfen".