Herstellen einer Verbindung mit dbt Core
In diesem Artikel wird erläutert, was dbt ist, wie dbt Core installiert wird und wie eine Verbindung hergestellt wird. Die gehostete Version von dbt mit dem Namen dbt Cloud ist ebenfalls verfügbar. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit dbt Core.
Was ist dbt?
dbt (Data Build Tool) ist eine Entwicklungsumgebung zum Transformieren von Daten durch Schreiben von select-Anweisungen. Die select-Anweisungen werden dann von dbt in Tabellen und Sichten umgewandelt. dbt kompiliert Ihren Code in unformatiertes SQL und führt diesen Code dann in der angegebenen Datenbank in Azure Databricks aus. dbt unterstützt Muster für das gemeinsame Schreiben von Code und bewährte Methoden wie Versionskontrolle, Dokumentation und Modularität.
dbt extrahiert oder lädt keine Daten. dbt befasst sich nur mit dem Transformationsschritt und verwendet eine „Transformation nach dem Laden“-Architektur. dbt geht davon aus, dass Sie bereits über eine Kopie Ihrer Daten in Ihrer Datenbank verfügen.
Mit dbt Core können Sie dbt-Code in der IDE Ihrer Wahl auf Ihrem lokalen Entwicklungscomputer schreiben und dann dbt über die Befehlszeile ausführen. dbt Core beinhaltet die dbt-Befehlszeilenschnittstelle (CLI). Die dbt-CLI kann kostenlos und Open Source verwendet werden.
dbt Core (und dbt Cloud) können gehostete Git-Repositorys verwenden. Weitere Informationen finden Sie in den Artikeln zum Erstellen eines dbt-Projekts und zum Verwenden eines vorhandenen Projekts auf der dbt-Website.
Installationsanforderungen
Vor der Installation von dbt Core müssen Sie Folgendes auf Ihrem lokalen Entwicklungscomputer installieren:
Außerdem ist für die Authentifizierung Folgendes erforderlich:
(Empfohlen) dbt Core als OAuth-Anwendung in Ihrem Konto aktiviert. Diese Einstellung ist standardmäßig aktiviert.
Ein persönliches Zugriffstoken
Hinweis
Als bewährte Methode zur Sicherheit empfiehlt Databricks, wenn Sie sich bei automatisierten Tools, Systemen, Skripts und Apps authentifizieren, OAuth-Token zu verwenden.
Wenn Sie die Authentifizierung mit persönlichen Zugriffstoken verwenden, empfiehlt Databricks, persönliche Zugriffstoken zu Dienstprinzipale anstelle von Arbeitsbereichsbenutzern zu verwenden. Informationen zum Erstellen von Token für Dienstprinzipale finden Sie unter Verwalten von Token für einen Dienstprinzipal.
Schritt 1: Installieren des dbt Databricks-Adapters
Es wird empfohlen, eine virtuelle Python-Umgebung zu verwenden, weil dabei Paketversionen und Codeabhängigkeiten dieser spezifischen Umgebung unabhängig von den Paketversionen und Codeabhängigkeiten in anderen Umgebungen isoliert sind. Dies trägt dazu bei, unerwartete Konflikte in Bezug auf Paketversionen und Codeabhängigkeiten zu reduzieren.
Databricks empfiehlt Version 1.8.0 oder höher des dbt-Databricks-Pakets.
.. Wichtig: Wenn Ihr lokaler Entwicklungscomputer eines der folgenden Betriebssysteme verwendet, müssen Sie zunächst zusätzliche Schritte ausführen: CentOS, MacOS, Ubuntu, Debian und Windows. Weitere Informationen finden Sie im Abschnitt „Does my operating system have prerequisites“ (Voraussetzungen für mein Betriebssystem) von Use pip to install dbt (Verwenden von pip zum Installieren von dbt) auf der dbt Labs-Website.
Schritt 2: Erstellen eines dbt-Projekts und Angeben und Testen von Verbindungseinstellungen
Erstellen Sie ein dbt-Projekt (eine Sammlung verwandter Verzeichnisse und Dateien, die für die Verwendung von dbt erforderlich sind). Anschließend konfigurieren Sie Ihre Verbindungsprofile. Diese enthalten Verbindungseinstellungen für ein Azure Databricks-Compute und/oder für ein SQL-Warehouse. Zum Erhöhen der Sicherheit werden dbt-Projekte und -Profile standardmäßig an separaten Speicherorten gespeichert.
Führen Sie bei immer noch aktivierter virtueller Umgebung den Befehl dbt init mit dem Projektnamen aus. Mit dieser Beispielprozedur wird ein Projekt mit dem Namen
my_dbt_demo
erstellt.dbt init my_dbt_demo
Wenn Sie aufgefordert werden, eine
databricks
- oderspark
-Datenbank auszuwählen, geben Sie die Zahl ein, diedatabricks
entspricht.Wenn Sie aufgefordert werden, einen
host
-Wert einzugeben, gehen Sie wie folgt vor:- Geben Sie für ein Compute den Wert für Serverhostname von der Registerkarte Erweiterte Optionen, JDBC/ODBC für Ihr Azure Databricks-Compute ein.
- Geben Sie für ein SQL-Warehouse den Wert von Serverhostname ein, der auf der Registerkarte Verbindungsdetails für Ihr SQL-Warehouse angegeben ist.
Wenn Sie aufgefordert werden, einen
http_path
-Wert einzugeben, gehen Sie wie folgt vor:- Geben Sie für ein Compute den Wert für HTTP-Pfad von der Registerkarte Erweiterte Optionen, JDBC/ODBC für Ihr Azure Databricks-Compute ein.
- Geben Sie für ein SQL-Warehouse den Wert von HTTP-Pfad ein, der auf der Registerkarte Verbindungsdetails für Ihr SQL-Warehouse angegeben ist.
Um einen Authentifizierungstyp auszuwählen, geben Sie die Zahl ein, die
use oauth
(empfohlen) oderuse access token
entspricht.Wenn Sie
use access token
als Authentifizierungstyp ausgewählt haben, geben Sie den Wert Ihres persönlichen Azure Databricks-Zugriffstokens ein.Hinweis
Als bewährte Methode für die Sicherheit empfiehlt Databricks, dass Sie bei der Authentifizierung mit automatisierten Tools, Systemen, Skripten und Anwendungen persönliche Zugriffstoken verwenden, die zu Dienstprinzipalen und nicht zu Benutzern des Arbeitsbereichs gehören. Informationen zum Erstellen von Token für Dienstprinzipale finden Sie unter Verwalten von Token für einen Dienstprinzipal.
Wenn Sie aufgefordert werden, den
desired Unity Catalog option
-Wert einzugeben, geben Sie die Zahl ein, dieuse Unity Catalog
odernot use Unity Catalog
entspricht.Wenn Sie sich für die Verwendung des Unity-Katalogs entschieden haben, geben Sie bei Aufforderung den gewünschten Wert für
catalog
ein.Geben Sie die gewünschten Werte für
schema
undthreads
ein, wenn Sie dazu aufgefordert werden.dbt schreibt Ihre Einträge in eine
profiles.yml
-Datei. Der Speicherort dieser Datei wird in der Ausgabe desdbt init
-Befehls aufgeführt. Sie können diesen Speicherort auch später durch Ausführen des Befehlsdbt debug --config-dir
auflisten. Sie können diese Datei jetzt öffnen, um den Inhalt zu untersuchen und zu verifizieren.Wenn Sie sich für ihren Authentifizierungstyp entschieden haben
use oauth
, fügen Sie Ihr Computer-zu-Computer-Authentifizierungsprofil (M2M) oder das Benutzer-zu-Computer-Authentifizierungsprofil (U2M) hinzuprofiles.yml
.Beispiele finden Sie unter Konfigurieren von Azure Databricks Sign-On aus DBT-Core mit Microsoft Entra ID.
Databricks empfiehlt nicht, Geheimnisse direkt in
profiles.yml
anzugeben. Legen Sie stattdessen die Client-ID und den geheimen Clientschlüssel als Umgebungsvariablen fest.Prüfen Sie die Verbindungsdetails, indem Sie im Verzeichnis
my_dbt_demo
den Befehldbt debug
ausführen.Wenn Sie
use oauth
als Authentifizierungstyp ausgewählt haben, werden Sie aufgefordert, sich bei Ihrem Identitätsanbieter anzumelden.Wichtig
Bevor Sie beginnen, überprüfen Sie, ob Ihr Compute oder SQL-Warehouse ausgeführt wird.
Eine Ausgabe ähnlich der folgenden sollte angezeigt werden:
cd my_dbt_demo dbt debug
... Configuration: profiles.yml file [OK found and valid] dbt_project.yml file [OK found and valid] Required dependencies: - git [OK found] Connection: ... Connection test: OK connection ok
Nächste Schritte
- Lokales Erstellen, Ausführen und Testen von dbt Core-Modellen. Weitere Informationen finden Sie im Tutorial zu dbt Core.
- Ausführen von dbt Core-Projekten als Azure Databricks-Auftragsaufgaben. Weitere Informationen finden Sie unter Verwenden von dbt-Transformationen in einem Azure Databricks-Auftrag.