Verwenden des Databricks-Connectors zum Herstellen einer Verbindung mit einem anderen Databricks-Arbeitsbereich
Dieser Artikel enthält Syntaxbeispiele für die Verwendung des Databricks-Connectors zum Herstellen einer Verbindung mit einem anderen Databricks-Arbeitsbereich. Dieser Connector nutzt den Databricks-JDBC-Treiber, der in Databricks Runtime 13.0 und höher enthalten ist.
Wichtig
Für die meisten Datenfreigabevorgänge empfiehlt Databricks Delta Sharing. Weitere Informationen unter Sicheres Freigeben von Daten und KI-Ressourcen mithilfe von Delta Sharing. Sie können auch Lakehouse Federation zum Verwalten von Abfragen für Daten in anderen Databricks-Arbeitsbereichen verwenden. Weitere Informationen unter Was ist Lakehouse Federation.
Herstellen einer Verbindung mit einem anderen Databricks-Arbeitsbereich
Mit dem Databricks Spark-Connector können Sie eine Verbindung mit Computeressourcen herstellen, die in einem anderen Databricks-Arbeitsbereich konfiguriert sind, und Ergebnisse an Ihren aktuellen Azure Databricks-Arbeitsbereich zurückgeben. Sie müssen Zugriff auf aktive Computeressourcen in beiden Arbeitsbereichen haben, damit Abfragen erfolgreich ausgeführt werden können.
Der JDBC-Treiber ist für URLs vom Typ jdbc:databricks://
registriert. Sie müssen ein persönliches Zugriffstoken konfigurieren und verwenden, das Ihnen Berechtigungen für die Arbeitsbereichsressourcen gewährt, auf die remote zugegriffen wird. Weitere Informationen finden Sie in der Tokenverwaltungs-API.
Hinweis
Wenn an Ihren Cluster eine Databricks-JDBC-Bibliothek angefügt ist, wird die dem Cluster angefügte Bibliotheksversion anstelle der in Databricks Runtime enthaltenen Version verwendet.
Lesen von Daten aus einem anderen Databricks-Arbeitsbereich
Sie können das Format databricks
für die Verwendung des Databricks Spark-Connectors beim Lesen von Daten angeben, wie im folgenden Beispiel gezeigt:
df = (spark.read
.format("databricks")
.option("host", "adb-<workspace-id>.<random-number>.azuredatabricks.net")
.option("httpPath", "/sql/1.0/warehouses/<warehouse-id>")
.option("personalAccessToken", "<auth-token>")
.option("dbtable", "<table-name>")
.load()
)
Erstellen einer externen Tabelle für einen anderen Databricks-Arbeitsbereich
Sie können eine externe Tabelle in einem Azure Databricks-Arbeitsbereich registrieren, der mit einem separaten Databricks-Arbeitsbereich verknüpft ist.
Das folgende Beispiel veranschaulicht diese Syntax mithilfe der Funktion secret
zum Abrufen von Anmeldeinformationen, die mit Databricks-Geheimnissen gespeichert sind:
Hinweis
Weitere Informationen zu Databricks-Geheimnissen finden Sie unter secret-Funktion.
CREATE TABLE databricks_external_table
USING databricks
OPTIONS (
host 'adb-<workspace-id>.<random-number>.azuredatabricks.net',
httpPath '/sql/1.0/warehouses/<warehouse-id>',
personalAccessToken secret('<scope>', '<token>'),
dbtable '<table-name>'
);