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.
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.3 LTS und höher enthalten ist.
Von Bedeutung
Für die meisten Datenfreigabevorgänge empfiehlt Databricks die Delta-Freigabe. Weitere Informationen finden Sie unter Was ist Delta Sharing?. Sie können auch lakehouse Federation bevorzugen, um Abfragen zu Daten in anderen Databricks-Arbeitsbereichen zu verwalten. Siehe 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 benötigen Zugriff auf die aktive Berechnung in beiden Arbeitsbereichen, damit Abfragen erfolgreich ausgeführt werden können.
Der JDBC-Treiber ist für jdbc:databricks://
URLs 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. Siehe die Tokenverwaltungs-API.
Hinweis
Wenn Sie eine Databricks JDBC-Bibliothek an Ihren Cluster angeschlossen haben, wird die angeschlossene Bibliotheksversion Ihres Clusters anstelle der Version verwendet, die in Databricks Runtime enthalten ist.
Lesen von Daten aus einem anderen Databricks-Arbeitsbereich
Sie können das Format databricks
für die Verwendung des Databricks Spark-Connectors angeben, wenn Sie Daten lesen, 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 in einem 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, indem die Funktion secret
verwendet wird, um Anmeldeinformationen abzurufen, die als Geheimnisse von Databricks 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>'
);