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 zamienia 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ę tylko na kroku transformacji przy użyciu 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 do użycia i open source.
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:
- Środowisko Python w wersji 3.7 lub nowszej
- Narzędzie do tworzenia środowisk wirtualnych języka Python (takich jak pipenv)
Do uwierzytelnienia potrzebne są również następujące elementy:
(Zalecane) baza danych dbt Core włączona jako aplikacja OAuth na twoim koncie. Ta usługa jest domyślnie włączona.
Osobisty token dostępu
Uwaga
Najlepszym rozwiązaniem w zakresie zabezpieczeń podczas uwierzytelniania za pomocą zautomatyzowanych narzędzi, systemów, skryptów i aplikacji usługa Databricks zaleca używanie tokenów OAuth.
Jeśli używasz uwierzytelniania osobistego tokenu dostępu, usługa Databricks zaleca używanie osobistych tokenów dostępu należących do jednostek 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. Instalowanie karty 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 programistyjna 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 temacie Używanie narzędzia do instalowania bazy danych w witrynie 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 połączenia z obliczeniami usługi Azure Databricks, usługą SQL Warehouse lub obydwoma. Aby zwiększyć bezpieczeństwo, projekty dbt i profile są domyślnie przechowywane w oddzielnych lokalizacjach.
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
Po wyświetleniu monitu o wybranie elementu
databricks
lubspark
bazy danych wprowadź liczbę odpowiadającądatabricks
.Po wyświetleniu monitu
host
o wartość wykonaj następujące czynności:- W przypadku obliczeń wprowadź wartość Nazwa hosta serwera na karcie Opcje zaawansowane, karta JDBC/ODBC dla obliczeń usługi Azure Databricks.
- W przypadku usługi SQL Warehouse wprowadź wartość Nazwa hosta serwera na karcie Szczegóły połączenia dla usługi SQL Warehouse.
Po wyświetleniu monitu
http_path
o wartość 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.
Aby wybrać typ uwierzytelniania, wprowadź liczbę odpowiadającą
use oauth
(zalecane) lubuse access token
.Jeśli wybrano
use access token
typ uwierzytelniania, wprowadź wartość osobistego tokenu dostępu usługi Azure Databricks.Uwaga
Najlepszym rozwiązaniem w zakresie zabezpieczeń w przypadku uwierzytelniania za pomocą zautomatyzowanych narzędzi, systemów, skryptów i aplikacji usługa Databricks zaleca używanie osobistych tokenów dostępu należących do jednostek usługi zamiast użytkowników obszaru roboczego. Aby utworzyć tokeny dla jednostek usługi, zobacz Zarządzanie tokenami dla jednostki usługi.
Po wyświetleniu monitu
desired Unity Catalog option
o wartość wprowadź liczbę odpowiadającąuse Unity Catalog
wartości lubnot use Unity Catalog
.Jeśli wybrano opcję używania wykazu aparatu Unity, wprowadź żądaną wartość po
catalog
wyświetleniu monitu.Wprowadź żądane wartości i
schema
threads
po wyświetleniu monitu.dbt zapisuje wpisy w
profiles.yml
pliku. Lokalizacja tego pliku znajduje się na liście danych wyjściowychdbt init
polecenia . Tę lokalizację można również wyświetlić później, uruchamiającdbt debug --config-dir
polecenie . Możesz teraz otworzyć ten plik, aby sprawdzić i zweryfikować jego zawartość.Jeśli wybrano
use oauth
typ uwierzytelniania, dodaj profil uwierzytelniania maszyny do maszyny (M2M) lub użytkownika-maszyny (U2M) do usługiprofiles.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 wpisów
profiles.yml
tajnych. Zamiast tego ustaw identyfikator klienta i klucz tajny klienta jako zmienne środowiskowe.Potwierdź szczegóły połączenia, uruchamiając
dbt debug
polecenie wmy_dbt_demo
katalogu.Jeśli wybrano
use oauth
typ uwierzytelniania, zostanie wyświetlony monit 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
- Tworzenie, uruchamianie i testowanie modeli dbt Core lokalnie. Zobacz samouczek dbt Core.
- Uruchom projekty dbt Core jako zadania zadań usługi Azure Databricks. Zobacz Używanie przekształceń dbt w zadaniu usługi Azure Databricks.