Freigeben über


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:

  • Python 3.7 oder höher
  • Ein Hilfsprogramm zum Erstellen virtueller Python-Umgebungen (z. B. pipenv)

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.

  1. 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
    
  2. Wenn Sie aufgefordert werden, eine databricks- oder spark-Datenbank auszuwählen, geben Sie die Zahl ein, die databricks entspricht.

  3. 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.
  4. 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.
  5. Um einen Authentifizierungstyp auszuwählen, geben Sie die Zahl ein, die use oauth (empfohlen) oder use access token entspricht.

  6. 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.

  7. Wenn Sie aufgefordert werden, den desired Unity Catalog option-Wert einzugeben, geben Sie die Zahl ein, die use Unity Catalog oder not use Unity Catalog entspricht.

  8. Wenn Sie sich für die Verwendung des Unity-Katalogs entschieden haben, geben Sie bei Aufforderung den gewünschten Wert für catalog ein.

  9. Geben Sie die gewünschten Werte für schema und threads ein, wenn Sie dazu aufgefordert werden.

  10. dbt schreibt Ihre Einträge in eine profiles.yml-Datei. Der Speicherort dieser Datei wird in der Ausgabe des dbt init-Befehls aufgeführt. Sie können diesen Speicherort auch später durch Ausführen des Befehls dbt 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) hinzu profiles.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.

  11. Prüfen Sie die Verbindungsdetails, indem Sie im Verzeichnis my_dbt_demo den Befehl dbt 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

Zusätzliche Ressourcen