Udostępnij za pośrednictwem


Nawiązywanie połączenia z bazą danych dbt Core

W tym artykule wyjaśniono, co to jest dbt, jak zainstalować bazę danych Dbt Core i jak nawiązać połączenie. Dostępna jest również hostowana wersja bazy danych o nazwie dbt Cloud. Aby uzyskać więcej informacji, zobacz Nawiązywanie połączenia z usługą dbt Cloud.

Co to jest dbt?

dbt (narzędzie do tworzenia danych) to środowisko programistyczne do przekształcania danych przez napisanie instrukcji select. dbt przekształca te instrukcje select w tabele i widoki. Dbt kompiluje kod w nieprzetworzonym języku SQL, a następnie uruchamia ten kod w określonej bazie danych w usłudze Azure Databricks. Usługa dbt obsługuje wzorce kodowania współpracy i najlepsze rozwiązania, w tym kontrolę wersji, dokumentację i modułowość.

dbt nie wyodrębnia ani nie ładuje danych. dbt koncentruje się wyłącznie na kroku transformacji, korzystając z architektury "transformacji po załadowaniu". Dbt zakłada, że masz już kopię danych w bazie danych.

Dbt Core umożliwia pisanie kodu dbt w wybranym środowisku IDE na lokalnym komputerze deweloperskim, a następnie uruchamianie dbt z wiersza polecenia. Dbt Core zawiera interfejs wiersza polecenia dbt. Interfejs wiersza polecenia dbt jest bezpłatny i dostępny jako otwarte źródło.

Dbt Core (i dbt Cloud) mogą używać hostowanych repozytoriów git. Aby uzyskać więcej informacji, zobacz Tworzenie projektu dbt i Używanie istniejącego projektu w witrynie internetowej dbt.

Wymagania dotyczące instalacji

Przed zainstalowaniem bazy danych dbt Core należy zainstalować następujące elementy na lokalnej maszynie dewelopera:

  • Python 3.7 lub wyższa
  • Narzędzie do tworzenia środowisk wirtualnych języka Python (takich jak pipenv)

Do uwierzytelnienia potrzebne są również następujące elementy:

  • (Zalecane) Włączono dbt Core jako aplikację OAuth na Twoim koncie. Ta usługa jest domyślnie włączona.

  • Osobisty token dostępu

    Uwaga

    Najlepsza praktyka w zakresie bezpieczeństwa polega na tym, aby podczas uwierzytelniania przy użyciu zautomatyzowanych narzędzi, systemów, skryptów i aplikacji, Databricks zalecał używanie tokenów OAuth.

    Jeśli używasz uwierzytelniania za pomocą osobistych tokenów dostępu, usługa Databricks zaleca używanie tokenów osobistego dostępu należących do pryncypałów usługi zamiast użytkowników obszaru roboczego. Aby utworzyć tokeny dla jednostek usługi, zobacz Zarządzanie tokenami dla jednostki usługi.

Krok 1: Zainstaluj adapter dbt Databricks

Zalecamy używanie środowiska wirtualnego języka Python , ponieważ izoluje wersje pakietów i zależności kodu do tego konkretnego środowiska, niezależnie od wersji pakietów i zależności kodu w innych środowiskach. Pomaga to zmniejszyć nieoczekiwane niezgodności wersji pakietu i kolizje zależności kodu.

Usługa Databricks zaleca wersję 1.8.0 lub nowszą pakietu dbt-databricks.

Ważne

Jeśli lokalna maszyna deweloperowa korzysta z dowolnego z następujących systemów operacyjnych, najpierw należy wykonać dodatkowe kroki: CentOS, MacOS, Ubuntu, Debian i Windows. Zobacz sekcję „Czy mój system operacyjny ma wymagania wstępne” w artykule Użyj pip, aby zainstalować dbt na stronie internetowej dbt Labs.

Krok 2. Tworzenie projektu dbt i określanie i testowanie ustawień połączenia

Utwórz projekt dbt (kolekcja powiązanych katalogów i plików wymaganych do korzystania z dbt). Następnie skonfigurujesz profile połączeń, które zawierają ustawienia dla połączenia z klastrem obliczeniowym usługi Azure Databricks, magazynem SQL lub obydwoma. Aby zwiększyć bezpieczeństwo, projekty dbt i profile są domyślnie przechowywane w oddzielnych lokalizacjach.

  1. Po aktywowaniu środowiska wirtualnego uruchom polecenie dbt init z nazwą projektu. Ta przykładowa procedura tworzy projekt o nazwie my_dbt_demo.

    dbt init my_dbt_demo
    
  2. Po wyświetleniu monitu o wybranie elementu databricks lub spark bazy danych wprowadź liczbę odpowiadającą databricks.

  3. Po wyświetleniu monitu o wartość host, wykonaj następujące czynności:

  4. Gdy pojawi się monit o wartość http_path, wykonaj następujące czynności:

    • W przypadku obliczeń wprowadź wartość ścieżki HTTP z karty Opcje zaawansowane JDBC/ODBC dla obliczeń usługi Azure Databricks.
    • W przypadku usługi SQL Warehouse wprowadź wartość Ścieżka HTTP na karcie Szczegóły połączenia dla usługi SQL Warehouse.
  5. Aby wybrać typ uwierzytelniania, wprowadź liczbę odpowiadającą use oauth (zalecane) lub use access token.

  6. Jeśli wybrano use access token typ uwierzytelniania, wprowadź wartość osobistego tokenu dostępu usługi Azure Databricks.

    Uwaga

    Jako najlepszą praktykę w zakresie zabezpieczeń, Databricks zaleca używanie osobistych tokenów dostępu należących do głównych elementów usługi zamiast użytkowników obszaru roboczego podczas uwierzytelniania za pomocą zautomatyzowanych narzędzi, systemów, skryptów i aplikacji. Aby utworzyć tokeny dla jednostek usługi, zobacz Zarządzanie tokenami dla jednostki usługi.

  7. Po wyświetleniu monitu o wartość desired Unity Catalog option, wprowadź liczbę odpowiadającą use Unity Catalog lub not use Unity Catalog.

  8. Jeśli zdecydujesz się użyć Unity Catalog, wprowadź żądaną wartość dla catalog, kiedy zostaniesz o to poproszony.

  9. Wprowadź żądane wartości dla schema i threads, gdy zostaniesz o to poproszony.

  10. dbt zapisuje wpisy w profiles.yml pliku. Lokalizacja tego pliku znajduje się w danych wyjściowych polecenia dbt init. Tę lokalizację można również wyświetlić później, uruchamiając polecenie dbt debug --config-dir. Możesz teraz otworzyć ten plik, aby sprawdzić i zweryfikować jego zawartość.

    Jeśli wybrano use oauth jako typ uwierzytelniania, dodaj profil uwierzytelniania maszyna-maszyna (M2M) lub użytkownik-maszyna (U2M) do profiles.yml.

    Przykłady można znaleźć w temacie Configure Azure Databricks sign-on from dbt Core with Microsoft Entra ID (Konfigurowanie logowania usługi Azure Databricks z bazy danych dbt Core przy użyciu identyfikatora Entra firmy Microsoft).

    Usługa Databricks nie zaleca bezpośredniego określania tajnych danych profiles.yml. Zamiast tego ustaw identyfikator klienta i klucz tajny klienta jako zmienne środowiskowe.

  11. Potwierdź szczegóły połączenia, uruchamiając polecenie dbt debug w katalogu my_dbt_demo.

    Jeśli wybierzesz use oauth jako typ uwierzytelniania, zostaniesz poproszony o zalogowanie się za pomocą dostawcy tożsamości.

    Ważne

    Przed rozpoczęciem sprawdź, czy środowisko obliczeniowe lub usługa SQL Warehouse jest uruchomiona.

    Powinny zostać wyświetlone dane wyjściowe podobne do następujących:

    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
    

Następne kroki

Dodatkowe zasoby