Bootstrapuj nowoczesny stos danych w 5 minut dzięki Terraform
Co to jest nowoczesny stos danych i jak go wdrożyć? Ten przewodnik zmotywuje Cię do rozpoczęcia tej podróży dzięki instrukcjom konfiguracji Airbyte, BigQuery, dbt, Metabase i wszystkim innym, czego potrzebujesz przy użyciu Terraform.
By Tuana Nguyena, CTO i członek zarządu w Joon Solutions.
Nowoczesna architektura stosu danych (zdjęcie autora).
Co to jest nowoczesny stos danych
Modern Data Stack (MDS) to zestaw technologii, dzięki któremu nowoczesna hurtownia danych działa 10–10,000 XNUMX razy lepiej niż starsza hurtownia danych. Ostatecznie MDS oszczędza czas, pieniądze i wysiłek. Cztery filary MDS to: złącze danych, A hurtownia danych w chmurze, A transformator danychI BI i eksploracja danych narzędziem.
Łatwo integracja jest możliwe dzięki zarządzanym narzędziom typu open source, które wstępnie tworzą setki gotowych do użycia złączy. To, co kiedyś wymagało zaangażowania zespołu inżynierów danych do regularnego tworzenia i utrzymywania, można teraz zastąpić narzędziem do prostych zastosowań. Rozwiązania zarządzane, takie jak ścieg i Pięciotran, wraz z rozwiązaniami typu open source, takimi jak Airbyte i Meltano, sprawiają, że to się dzieje.
Korzystanie hurtownia danych kolumnowych oparta na chmurze jest ostatnio trendem ze względu na wysoką wydajność i opłacalność. Zamiast płacić 100 tys. dolarów rocznie za lokalną bazę danych MPP (przetwarzanie masowo równoległe), możesz zacząć płacić od 100 dolarów (lub mniej) miesięcznie. Mówi się, że natywne hurtownie danych w chmurze są 10–10,000 XNUMX razy szybsze niż tradycyjne hurtownie OLTP. Popularne opcje w tej kategorii to bigquery, Snowflake, Przesunięcie ku czerwieni.
W dawnych czasach przetwarzanie danych w hurtowni danych stanowiło wąskie gardło ze względu na ograniczenia technologii. W rezultacie firmy musiały preferować ETL zamiast ELT, aby zmniejszyć obciążenie hurtowni danych. Jednak wraz z rozwojem hurtowni danych natywnych w chmurze wiele narzędzia do transformacji w hurtowni danych stają się popularne. Najbardziej godne uwagi w tej kategorii są dbt (narzędzie do budowania danych) i Dataform.
Narzędzia BI używany do obsługi niektórych transformacji w celu zmniejszenia obciążenia również starszych hurtowni danych. Jednak wraz z pojawieniem się nowoczesnego stosu danych nacisk narzędzi BI został (moim zdaniem) przesunięty na demokratyzację dostępu do danych, samoobsługi i odkrywania danych. Niektóre narzędzia, które moim zdaniem zmierzają we właściwym kierunku, to: telewidz, Metabaza, Nadzbiór.
Nasza architektura
Rozpoczęcie korzystania z nowoczesnego stosu danych może być trudne, ponieważ wymaganych jest wiele różnych narzędzi i procesów. Ten artykuł ma na celu pomóc Ci rozpocząć tę podróż tak płynnie, jak to tylko możliwe. Jest wiele kroków przygotowawczych, ale to tylko trwa pięć minut aby uruchomić wszystkie zasoby, gdy już skończysz.
Będziemy używać Terraform, narzędzie typu open source działające w postaci infrastruktury jako kodu, umożliwiające udostępnianie wszystkiego w Google Cloud. Jeśli zastosujesz się do poniższych instrukcji, oto zasoby, które zostaną utworzone.
- Projekt Google Cloud z włączonym niezbędnym API
- Pozyskiwanie: instancja GCE z systemem Airbyte
- Magazynowanie: zbiory danych BigQuery
- Orkiestracja (opcjonalnie): instancja GCE z uruchomionym Airflow
- BI i odkrywanie danych: instancja GCE z uruchomioną Metabase
- Konta usług dla różnych usług i ich powiązania uprawnień
Rozpocznij
Utwórz konto Google Cloud i włącz rozliczenia
Kod Terraform w tym projekcie będzie współdziałał z platformą Google Cloud. Dlatego naszym pierwszym krokiem jest utworzenie konta Google i włączyć rozliczenia. Zanotuj identyfikator rozliczeniowy w następującym formacie na Stronie Rozliczenia: ######-######-######. Ta wartość będzie Ci potrzebna w następnym kroku.
Zainstaluj interfejs wiersza polecenia Google Cloud
Zainstaluj pakiet Google Cloud SDK, postępując zgodnie z instrukcjami tutaj dla danego systemu operacyjnego. Po tym jak masz gcloud CLI, uruchom następujące polecenie w oknie terminala i postępuj zgodnie z instrukcjami. Dzięki temu Terraform użyje domyślnych danych uwierzytelniających do uwierzytelnienia.
gcloud auth domyślny login aplikacji
Zainstaluj Terraforma
Postępuj zgodnie z instrukcją tutaj aby zainstalować lokalnie interfejs wiersza polecenia Terraform. Uruchom później następującą komendę, aby sprawdzić instalację:
terraforma -w
Powinieneś zobaczyć coś takiego:
Terraform v1.0.0 na darwin_amd64 + dostawcaregistry.terraform.io/hashicorp/google v3.71.0
Rozwiń lub sklonuj to repozytorium lokalnie
Możesz rozwiń to repozytorium na swoje konto lub sklonuj go na komputerze lokalnym. Aby sklonować repozytorium, uruchom następujące polecenie:
git klon https://github.com/tuanchris/modern-data-stack cd nowoczesny stos danych
Stwórz terraform.tfvars filet
Stwórz terraform.tfvars plik o następującej treści:
# Identyfikator płatności z pierwszego kroku billing_id = ######-######-###### # Identyfikator folderu, w którym chcesz umieścić swój projekt # Pozostaw to pole puste, jeśli korzystasz z konta osobistego identyfikator_folderu = "" # Identyfikator organizacji, w której chcesz umieścić swój projekt # Pozostaw to pole puste, jeśli korzystasz z konta osobistego identyfikator_organizacji = "" # Projekt do utworzenia id_projektu = ""
ostrzeżenie: Są to wartości wrażliwe. Nie udostępniaj tego pliku i *.tfstan pliki do publicznego repozytorium.
Dostosuj wartości w zmienne.tf
Zmienne w zmienne.tf zostaną wykorzystane do konfiguracji zasobów.
Zdjęcie autora.
Możesz dostosować typ maszyny do różnych usług, zmieniając zmienne. Jeśli nie chcesz korzystać z żadnej usługi, skomentuj to w gce.tf plik.
Można także tworzyć różne zbiory danych dla systemów źródłowych, dodając je do słownika źródłowych zbiorów danych.
Stwórz nowoczesny stos danych
Na koniec, aby udostępnić wszystkie te zasoby w Google Cloud, uruchom następujące polecenie:
zastosowanie ma terraform
Zdjęcie autora.
Przeanalizuj dane wyjściowe w terminalu, aby upewnić się, że wszystkie ustawienia zasobów są takie, jakie chcesz. Typ tak i uderz wchodzić.
Terraform stworzy projekt Google Cloud z naszym nowoczesnym stosem danych. Cały proces zajmie około 2-3 minut. Instalacja usług na instancjach maszyn wirtualnych zajmuje dodatkowe 2–3 minuty. Cały proces zajmie tylko 5 minut lub mniej.
Korzystanie z nowoczesnego stosu danych
Pobierz konta usług dla różnych usług
Zdjęcie autora.
Google zaleca używanie innego konta usługi dla różnych usług. Kod terraformowy w projekcie utworzył różne konta dla różnych już używanych technologii. Aby pobrać konto usługi dla określonej usługi, uruchom następującą komendę:
dane wyjściowe terraformu [nazwa_usługi]_sa_key
Domyślne uprawnienie dla wszystkich tych kont to role/bigquery.admin. Możesz to dostosować w pliku iam.tf plik.
Wartość, którą otrzymałeś, jest zakodowana w standardzie Base64. Aby przywrócić tę wartość do formatu JSON, uruchom następujące polecenie:
echo "[wartość z poprzedniego polecenia]" | baza64 -d
Możesz użyć konta usługi JSON do uwierzytelnienia dostępu usługi do zasobów Twojego projektu.
ostrzeżenie: każdy, kto ma to konto usługi, może uzyskać dostęp do Twojego projektu.
Pozyskuj dane za pomocą Airbyte
Airbyte to doskonałe narzędzie do integracji danych typu open source. Aby uzyskać dostęp do interfejsu użytkownika Airbyte, najpierw pobierz polecenie gcloud SSH.
Zdjęcie autora.
Otrzymasz polecenie podobne do tego:
gcloud beta compute ssh --zone „asia-sutheast1-a” „tf-airbyte-demo-airbyte” --project „tf-airbyte-demo”
Następnie dodaj następujące polecenie do polecenia, aby lokalnie przekierować port interfejsu użytkownika Airbyte:
-- -L 8000:lokalnyhost:8000 -L 8001:lokalnyhost:8001 -N -f
Twoje ostatnie polecenie będzie wyglądać następująco:
gcloud beta compute ssh --zone „asia-sutheast1-a” „tf-airbyte-demo-airbyte” --project „tf-airbyte-demo” -- -L 8000:localhost:8000 -L 8001:localhost:8001 - N-f
Uwaga: Pamiętaj, aby po skopiowaniu z interfejsu użytkownika GCP usunąć znak nowej linii.
Jeśli instancja Airbyte zakończyła uruchamianie, możesz uzyskać do niej dostęp, przechodząc do przeglądarki i odwiedzając stronę localhost: 8000. Jeśli nie, poczekaj pięć minut, aż instancja zakończy instalację.
Zdjęcie autora.
Teraz możesz zintegrować swoje źródła, dodać miejsce docelowe BigQuery za pomocą airbyte_sa_keyi błyskawicznie miej swoje dane w BigQuery.
Dostęp do instalacji Airbyte można uzyskać pod adresem /airbyte/ wewnątrz maszyny wirtualnej.
Modeluj dane za pomocą dbt
dbt (narzędzie do tworzenia danych) to potężne narzędzie do transformacji danych typu open source przy użyciu języka SQL. Umożliwia analitykom danych wykonywanie pracy wcześniej zarezerwowanej dla inżynierów danych. Pomaga także w stworzeniu zupełnie nowego stanowiska o nazwie Analityk, będącego hybrydą Analityka Danych i Inżyniera Danych. Więcej o stanowisku możesz przeczytać na moim blogu tutaj.
Zdjęcie autora.
W przeciwieństwie do Airbyte, Airflow i Metabase, do uruchomienia dbt nie jest potrzebny serwer. Możesz zarejestrować bezpłatne (na zawsze) 1-miejscowe konto, odwiedzając ich .
Organizuj przepływ pracy za pomocą Airflow
Airflow to sprawdzone w boju narzędzie do orkiestracji przepływu pracy stworzone przez Airbnb. Miejmy nadzieję, że dzięki nowoczesnemu stosowi danych nie będziesz musiał często korzystać z Airflow. Jednak w niektórych przypadkach, gdy potrzebne jest pewne dostosowanie, Airflow może być Twoim ulubionym narzędziem.
Aby uzyskać dostęp do interfejsu użytkownika, pobierz polecenie SSH podobne do powyższej sekcji za pomocą Airbyte. Użyj następującego polecenia do przekierowania portów:
gcloud beta compute ssh --zone „asia-sutheast1-a” „tf-airbyte-demo-airflow” --project „tf-airbyte-demo” -- -L 8080:localhost:8080 -N -f
Teraz możesz uzyskać dostęp do instalacji Airflow pod adresem localhost: 8080. Domyślna nazwa użytkownika i hasło to Admin i Admin.
Zdjęcie autora.
Dostęp do instalacji nawiewu można uzyskać pod adresem /przepływ powietrza/ wewnątrz maszyny wirtualnej.
Wizualizuj dane za pomocą Metabase
Metabaza to narzędzie do wizualizacji i odkrywania danych typu open source. Jest niezwykle przyjazny dla użytkownika i łatwy do rozpoczęcia.
Aby uzyskać dostęp do interfejsu Metabase, pobierz polecenie SSH podobne do powyższej sekcji za pomocą Airbyte. Następnie użyj następującego polecenia do przekierowania portów:
gcloud beta compute ssh --zone „asia-sutheast1-a” „tf-airbyte-demo-metabase” --project „tf-airbyte-demo” -- -L 3000:localhost:3000 -N -f
Zdjęcie autora.
Sprzątać
Aby uniknąć niepożądanych kosztów, pamiętaj o wyczyszczeniu zasobów utworzonych w tym projekcie poprzez uruchomienie.
terraform destroy
Ostrzeżenie: Spowoduje to usunięcie wszystkich utrwalonych danych i zasobów w projekcie. Alternatywnie możesz wyłączyć nieużywany GCE, aby również zaoszczędzić koszty.
Oryginalny. Przesłane za zgodą.
Bio: Tuana Nguyena jest CTO w Joon Solutions, firmie Data as a Service. Jego doświadczenia zawodowe koncentrują się wokół budowania i zarządzania zespołami data science, infrastrukturą analityczną i analitycznymi przypadkami użycia. Uwielbia łączyć swoją pasję do analizy danych i przetwarzania w chmurze, aby pomóc firmom zachować konkurencyjność w dzisiejszych czasach cyfrowych. Ma szeroki zakres zainteresowań, w tym astronomię, czytanie, muzykę i IoT.
Związane z:
Najważniejsze artykuły z ostatnich 30 dni | |||
---|---|---|---|
|
Źródło: https://www.kdnuggets.com/2021/08/bootstrap-modern-data-stack-terraform.html
- "
- &
- dostęp
- Konto
- Dodatkowy
- Airbnb
- Wszystkie kategorie
- analityk
- analityka
- Apache
- api
- architektura
- na około
- artykuł
- astronomia
- Uwierzytelnianie
- samochód
- beta
- bigQuery
- billing
- Blog
- deska
- członek zarządu
- granica
- przeglądarka
- budować
- Budowanie
- biznes
- który
- Etui
- Chmura
- cloud computing
- Platforma chmurowa
- kod
- Firmy
- sukcesy firma
- obliczać
- computing
- zawartość
- Koszty:
- Tworzenie
- CTO
- dane
- dostęp do danych
- Analityka danych
- integracja danych
- nauka danych
- Wizualizacja danych
- hurtownia danych
- magazyn danych
- Baza danych
- dzień
- głęboka nauka
- zniszczyć
- cyfrowy
- Dyrektor
- odkrycie
- inżynier
- Inżynierowie
- Doświadczenia
- i terminów, a
- Skupiać
- obserwuj
- format
- Darmowy
- Złoto
- Google Cloud
- GPU
- poprowadzi
- tutaj
- Wysoki
- W jaki sposób
- HTTPS
- Setki
- Hybrydowy
- IAM
- obraz
- Włącznie z
- Infrastruktura
- integracja
- zaangażowany
- Internet przedmiotów
- IT
- UCZYĆ SIĘ
- nauka
- miejscowy
- lokalnie
- uczenie maszynowe
- Dokonywanie
- średni
- ML
- pieniądze
- Muzyka
- Online
- koncepcja
- open source
- Opinia
- Opcje
- Hasło
- jest gwarancją najlepszej jakości, które mogą dostarczyć Ci Twoje monitory,
- Platforma
- Popularny
- projekt
- publiczny
- zasięg
- Czytający
- zmniejszyć
- Zasób
- Zasoby
- run
- bieganie
- nauka
- Naukowcy
- Sdk
- Samoobsługa
- Usługi
- Prosty
- Rozwiązania
- Spin
- SQL
- początek
- rozpoczęty
- pobyt
- historie
- systemy
- Technologies
- czas
- Top
- Transformacja
- transformatorowy
- ui
- wartość
- wyobrażanie sobie
- czekać
- Magazyn
- Co to jest
- Praca
- workflow
- X
- rok