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.3 LTS 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>'
);