Co musisz umieć, żeby dobrze wykorzystać dbt?

co umieć, żeby dobrze wykorzystać dbt

dbt jest niezwykle prostym narzędziem do zapanowania nad analityczną bazą danych. Jego elementy, zalety i przewagę nad graficznymi narzędziami ETL w kwestiach transformacji danych opisałem w tym wpisie.

Żeby płynnie i bezproblemowo wykorzystać możliwości dbt musisz znać podstawy kilku rzeczy:

  • wiersz poleceń
  • git
  • SQL i Twoja bazę danych

a żeby zadbać o jakość i wygodę pracy przydadzą się jeszcze:

  • modelowanie danych
  • edytor kodu

Wiersz poleceń

Obecnie większość interakcji z komputerami odbywa się poprzez interfejs graficzny, jednak przy programowaniu i wykorzystaniu takich narządzi jak właśnie dbt musisz poznać przynajmniej podstawowe polecenia wiersza poleceń.

Rodzajów CLI (od command-line interface) jest wiele:

  • cmd
  • PowerShell
  • Bash
  • KornShell
  • wiele innych…

Najbardziej podstawowe polecenia pozostają jednak takie same pomiędzy nimi.

cd – zmiana bieżącego folceru

Przejście do folderu „nazwa_folderu”:

cd nazwa_folderu

Przejście do folderu nadrzędnego (dwie kropki oznaczają folder nadrzędny, pojedyncza kropka oznacza bieżący folder):

cd ..

Możesz też przejść bezpośrednio do folderu poprzez podanie jego dokładnego miejsca:

cd c:\Users\UserName

ls – wylistowanie wszystkich plików i folderów w bieżącym folderze

Tak wygląda wynik polecenia ls w PowerShell:

wynik zapytania ls w cmd

Git

Dla programistów i inżynierów oprogramowania podstawowe narzędzie pracy już od wielu lat, ale dopiero od niedawna wkracza do świata zarządzania kodem w pracy z danymi między innymi za sprawą dbt.

wizualizacja gałęzi w git
źródło: strona dbt o git

Praca z gitem znacznie ułatwia rozwój oprogramowania/ projektu w pracy zespołowej. Dzięki temu, że umożliwia rozwój tego samego projektu na wielu gałęziach przez różne osoby i późniejszemu ich łączeniu znacznie łatwiej wyłapać problemy z kodem i przetestować oprogramowanie niż jedynie wymieniając się plikami lub edytując pliki bezpośrednio w środowisku produkcyjnym.

Umożliwia weryfikację kto zmieniał kod i kiedy to zrobił.
Umożliwia porównanie kodu z wersją, jaka funkcjonowała poprzednio.
Ułatwia kontrolę jakości kodu.

Podstawowe elementy niezbędne do płynnej pracy z dbt:

  • zrozumienie jak działają gałęzie
  • zrozumienie 3 stanów Gita:
    • Working Directory
    • Staging Area
    • .git Directory (repozytorium)
  • najbardziej podstawowe komendy:
    • git status
    • git add
    • git commit
    • git push
    • git pull
    • git branch
    • git merge

Komend, które warto się nauczyć jest oczywiście więcej, jednak poznanie i zrozumienie powyższych to niezbędne minimum do pracy z gitem. Nie będę ich tutaj opisywał, ale odeślę Cię do tej strony, gdzie dostępne są materiały do ich poznania: dokumentacja, darmowy e-book, krótkie video.

SQL i Twoje baza danych

Bez SQL ani rusz. Cokolwiek nie zrobisz z dbt, to dbt przekonwertuje Twój kod do czystego SQL i uruchomi to w wybranej bazie danych.

Znając dobre praktyki SQL i architekturę Twojej bazy danych będziesz w stanie pisać wydajny i czytelny kod.

Wiele osób skupia się na samym SQL pomijając znajomość tego jak właściwie działa wybrany silnik bazy danych. Uważam to za spory błąd. Wiedząc jak działają indeksy, czy Twoja baza danych w ogóle wspiera indeksy, jak przechowuje tabele, jak cache’uje dane, jak optymalizuje zapytania jesteś w stanie napisać znacznie wydajniejszy kod SQL, co prowadzi do znacznie szybszych wyników zapytań i zdecydowanie mniejszych kosztów utrzymania bazy danych.

plan zapytania w Snowflake
plan zapytania w Snowflake’u

Modelowanie danych

No cóż, brak znajomości technik modelowania danych i zasad, jakie nimi rządzą, ale znając podstawowe komendy powłoki i git’a, podstawy SQL i wybranego edytora kodu oczywiście bez problemu będziesz w stanie korzystać z dbt, ale…

Umiejętność modelowania danych pozwoli Ci stworzyć odpowiednią strukturę modeli i odpowiedni przepływ danych, który spowoduje, że analiza danych i utrzymanie jakości danych będą znacznie prostsze.

Stworzenie skomplikowanych modeli rozwiązujące skomplikowane zagadnienia jest proste, ale stworzenie modeli łatwych w utrzymaniu jest znacznie trudniejsze.

Warto zaznajomić się przynajmniej z modelem gwiazdy, gdzie centralnym elementem są tabele faktów zawierające wszelkie dane metryk i transakcji, a dookoła tabel faktów są tabele wymiarów, które opisują fakty.

Edytor kodu

Na dobrą sprawę nie musisz korzystać z edytora kodu, żeby wykorzystać dbt – w końcu możesz wszystko realizować z terminala wiersza poleceń – ale korzystanie z edytora kodu zdecydowanie upraszcza pracę nad wieloma plikami w jednym projekcie.

Wybór jest niezwykle szeroki.

  • Visual Studio Code
  • Atom
  • Sublime Text
  • Brackets
  • i wiele innych

Wybierz ten, z którego korzysta Twój zespół, lub jest dla Ciebie najprostszy.
Naucz się jego struktury i skrótów klawiszowych. Dzięki temu znacznie ułatwisz sobie pracę.


Nie przegap kolejnych wpisów -> śledź mnie:


Opublikowano

w

przez

Komentarze

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *