Bootstrap en moderne datastabel på 5 minutter med Terraform
Hva er en moderne datastabel, og hvordan distribuerer du en? Denne guiden vil motivere deg til å begynne på denne reisen med installasjonsinstruksjoner for Airbyte, BigQuery, dbt, Metabase og alt annet du trenger ved å bruke Terraform.
By Tuan Nguyen, CTO & styremedlem i Joon Solutions.
A Modern Data Stack Architecture (bilde av forfatter).
Hva er en moderne datastabel
Modern Data Stack (MDS) er en bunke med teknologier som får et moderne datavarehus til å prestere 10–10,000 XNUMX ganger bedre enn et eldre datavarehus. Til syvende og sist sparer en MDS tid, penger og krefter. De fire søylene i en MDS er a datakontakten sky datalageren datatransformatorOg BI og datautforskning verktøyet.
Lett integrering er mulig med administrerte og åpen kildekodeverktøy som forhåndsbygger hundrevis av klar-til-bruk-kontakter. Det som før tok et team med dataingeniører for å bygge og vedlikeholde regelmessig, kan nå erstattes med et verktøy for enkle brukstilfeller. Administrerte løsninger som Stitch og Fivetran, sammen med åpen kildekode-løsninger som Airbyte og Meltano, får dette til å skje.
Ved hjelp av en skybasert søyle datalager har vært trenden nylig på grunn av høy ytelse og kostnadseffektivitet. I stedet for å betale $ 100K per år for en lokal MPP-database (massivt parallell behandling), kan du begynne å betale fra $ 100 (eller mindre) per måned. Cloud-native datavarehus sies å være 10–10,000 XNUMX ganger ganger raskere enn en tradisjonell OLTP. Populære alternativer i denne kategorien er BigQuery, Snowflakeog rødforskyvning.
I gamle dager var behandling av data inne i datalageret flaskehalsen på grunn av teknologiens begrensninger. Som et resultat måtte selskaper favorisere ETL i stedet for ELT for å redusere arbeidsmengden til datavarehuset. Med fremskrittet i sky-native datavarehus er det imidlertid mange transformasjonsverktøy i datalageret blir populære. Mest bemerkelsesverdig i denne kategorien er dbt (data build -verktøy) og Dataform.
BI -verktøy pleide å ta seg av noen transformasjoner for å redusere arbeidsmengden på eldre datavarehus også. Med den moderne datastakken har imidlertid BI-verktøyets fokus blitt flyttet (etter min mening) for å demokratisere datatilgang, selvbetjening og dataoppdagelse. Noen verktøy som jeg tror er på vei i riktig retning er Looker, metabasenog super.
Vår arkitektur
Det kan være skremmende å komme i gang med Modern Data Stack, ettersom mange forskjellige verktøy og prosesser er involvert. Denne artikkelen tar sikte på å hjelpe deg med å komme i gang på denne reisen så sømløst som mulig. Det er mange forberedelsestrinn, men det tar bare fem minutter å spinne opp alle ressurser når du er ferdig.
Vi bruker terra, et infrastruktur-som-kode åpen kildekode-verktøy for å levere alt i Google Cloud. Hvis du følger instruksjonene nedenfor, er her ressursene som vil bli opprettet.
- Et Google Cloud -prosjekt med nødvendig API aktivert
- Svelging: en GCE -forekomst som kjører Airbyte
- Lager: BigQuery datasett
- Orkestrering (valgfritt): en GCE -forekomst som kjører Airflow
- BI & data discovery: en GCE -forekomst som kjører Metabase
- Tjenesten står for forskjellige tjenester og deres IAM -tillatelsesbindinger
Kom i gang
Opprett en Google Cloud -konto og aktiver fakturering
Terraform -koden i dette prosjektet vil samhandle med Google Cloud Platform. Derfor er vårt første trinn å opprette en Google -konto og aktivere fakturering. Legg merke til fakturerings -ID med følgende format på faktureringssiden: ######-##############. Du trenger denne verdien i neste trinn.
Installer Google Cloud CLI
Installer Google Cloud SDK ved å følge instruksjonene her. for ditt respektive operativsystem. Etter at du har gcloud CLI installert, kjør følgende kommando i et terminalvindu og følg instruksjonene. Dette lar Terraform bruke standard legitimasjon for autentisering.
gcloud auth-applikasjon-standard pålogging
Installer terraform
Følg instruksjonene her. for å installere Terraform CLI lokalt. Kjør følgende kommando etterpå for å kontrollere installasjonen:
terraform -v
Du bør se noe slikt:
Terraform v1.0.0 på darwin_amd64 + provider registry.terraform.io/hashicorp/google v3.71.0
Gaffel eller klon denne repoen lokalt
Du kan gaffel denne repoen til kontoen din eller klone den til din lokale maskin. For å klone repoen, kjør følgende:
git-klon https://github.com/tuanchris/modern-data-stack cd modern-data-stack
Lag en terraform.tfvars fil
Lag en terraform.tfvars fil med følgende innhold:
#Fakturerings-ID fra det første trinnet billing_id = ######-######-#######Mappe-IDen der du vil at prosjektet skal være under#La dette stå tomt hvis du bruker en personlig konto folder_id = "" # Organisasjons -ID -en for hvor du vil at prosjektet skal være under # La dette stå tomt hvis du bruker en personlig konto org_id = "" # Prosjektet for å opprette project_id = ""
Advarsel: Disse regnes som sensitive verdier. Ikke forplikt denne filen og *.tfstate filer til en offentlig repo.
Tilpass verdiene i variabler.tf
Variablene i variabler.tf vil bli brukt til konfigurasjonen av ressursene.
Bilde av forfatter.
Du kan tilpasse maskintypen for forskjellige tjenester ved å endre variablene. Hvis du ikke vil bruke noen tjeneste, kan du kommentere det i gce.tf filen.
Du kan også opprette forskjellige datasett for kildesystemene dine ved å legge dem til kildedatasettordboken.
Lag en moderne datastabel
Til slutt, for å skaffe alle disse ressursene på Google Cloud, kjører du følgende kommando:
terraform gjelder
Bilde av forfatter.
Studer utgangen i terminalen for å sikre at alle ressursinnstillinger er det du vil at de skal være. Type ja og treffer skriv.
Terraform vil opprette et Google Cloud -prosjekt med vår moderne datastabel. Hele prosessen vil ta omtrent 2-3 minutter. Det tar ytterligere 2–3 minutter før tjenestene installeres på VM -forekomster. Hele prosessen vil bare ta 5 minutter eller mindre.
Bruker den moderne datastakken
Hent tjenestekontoer for forskjellige tjenester
Bilde av forfatter.
Google anbefaler å bruke en annen tjenestekonto for forskjellige tjenester. Terraformkoden i prosjektet har opprettet forskjellige kontoer for forskjellige teknologier som allerede er brukt. For å hente en tjenestekonto for en bestemt tjeneste, kjør følgende kommando:
terraform output [service_name] _sa_key
Standardtillatelsen for alle disse kontoene er roller/bigquery.admin. Du kan tilpasse dette i iam.tf filen.
Verdien du fikk tilbake er base64 -kodet. For å slå denne verdien tilbake til JSON -formatet, kjør følgende kommando:
ekko "[verdi fra forrige kommando]" | base64 -d
Du kan bruke JSON -tjenestekontoen til å autentisere tjenestetilgangen til prosjektets ressurser.
Advarsel: Alle med denne tjenestekontoen kan få tilgang til prosjektet ditt.
Inntak data med Airbyte
Airbyte er et utmerket verktøy for åpen integrering av data. For å få tilgang til Airbyte UI, må du først få gcloud SSH -kommandoen.
Bilde av forfatter.
Du får en kommando som ligner denne:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airbyte" --prosjekt "tf-airbyte-demo"
Deretter legger du til følgende i kommandoen for å videresende Airbyte-brukergrensesnittet lokalt:
--L 8000: lokal vert: 8000 -L 8001: lokal vert: 8001 -N -f
Din siste kommando vil se slik ut:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airbyte" --prosjekt "tf-airbyte-demo"--L 8000: localhost: 8000 -L 8001: localhost: 8001- N -f
OBS: Sørg for å slette newline -tegnet etter kopiering fra GCP -brukergrensesnittet.
Hvis Airbyte -forekomsten er ferdig startet, kan du få tilgang til den ved å gå til nettleseren din og besøke localhost: 8000. Hvis ikke, vent fem minutter på forekomsten for å fullføre installasjonen.
Bilde av forfatter.
Nå kan du integrere kildene dine, legge til en BigQuery -destinasjon ved hjelp av airbyte_sa_key, og ha dataene dine i BigQuery på kort tid.
Du får tilgang til Airbyte -installasjonen på /airbyte/ inne i VM.
Modelldata med dbt
DBT (data build-verktøy) er et kraftfullt datatransformasjonsverktøy med åpen kildekode som bruker SQL. Det gjør det mulig for dataanalytikere å utføre arbeidet som tidligere var reservert for dataingeniører. Det hjelper også med å skape en helt ny posisjon kalt Analytics Engineer, en hybrid av en dataanalytiker og en dataingeniør. Du kan lese mer om stillingen i bloggen min her..
Bilde av forfatter.
I motsetning til Airbyte, Airflow og Metabase trenger du ikke en server for å kjøre dbt. Du kan registrere deg for en gratis (evig) 1-seters konto ved å besøke deres nettsted.
Orkester arbeidsflyten med Airflow
Luftstrøm er et kampbevist arbeidsflytorkesteringsverktøy laget av Airbnb. Med en moderne datastabel trenger du forhåpentligvis ikke bruke Airflow mye. I noen tilfeller der det er behov for noen tilpasninger, kan Airflow imidlertid være ditt beste verktøy.
For å få tilgang til brukergrensesnittet, få SSH -kommandoen som ligner på seksjonen ovenfor med Airbyte. Bruk følgende kommando for port-forward:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airflow" --prosjekt "tf-airbyte-demo"--L 8080: localhost: 8080 -N -f
Nå kan du få tilgang til Airflow -installasjonen på localhost: 8080. Standard brukernavn og passord er admin og admin.
Bilde av forfatter.
Du får tilgang til luftstrøminstallasjonen på /luftstrøm/ inne i VM.
Visualiser data med Metabase
metabasen er et verktøy for åpen datavisualisering og -oppdagelse med åpen kildekode. Det er super brukervennlig og lett å komme i gang med.
For å få tilgang til Metabase UI, få SSH -kommandoen som ligner seksjonen ovenfor med Airbyte. Deretter bruker du følgende kommando for port-forward:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-metabase" --prosjekt "tf-airbyte-demo"--L 3000: localhost: 3000 -N -f
Bilde av forfatter.
Rydd opp
For å unngå uønskede kostnader, må du rydde opp i ressursene som er opprettet i dette prosjektet ved å kjøre.
terraform ødelegge
Advarsel: Dette vil slette alle vedvarende data og ressurser i prosjektet. Alternativt kan du slå av ubrukt GCE for å spare kostnader også.
original. Ompostet med tillatelse.
Bio: Tuan Nguyen er CTO for Joon Solutions, et Data as a Service-selskap. Hans profesjonelle erfaringer dreier seg om å bygge og administrere datavitenskapsteam, analyseinfrastruktur og analysesaker. Han elsker å kombinere sin lidenskap for dataanalyse og cloud computing for å hjelpe bedrifter med å være konkurransedyktige i denne digitale tidsalderen. Han har et bredt spekter av interesser, inkludert astronomi, lesing, musikk og IoT.
Relatert:
Topphistorier siste 30 dager | |||||
---|---|---|---|---|---|
|
|
Kilde: https://www.kdnuggets.com/2021/08/bootstrap-modern-data-stack-terraform.html
- "
- &
- adgang
- Logg inn
- Ytterligere
- airbnb
- Alle
- analytiker
- analytics
- Apache
- api
- arkitektur
- rundt
- Artikkel
- astronomi
- Autentisering
- auto
- beta
- BigQuery
- fakturering
- Blogg
- borde
- styremedlem
- grensen
- nett~~POS=TRUNC leseren~~POS=HEADCOMP
- bygge
- Bygning
- bedrifter
- hvilken
- saker
- Cloud
- cloud computing
- Skyplattform
- kode
- Selskaper
- Selskapet
- Beregn
- databehandling
- innhold
- Kostnader
- Opprette
- CTO
- dato
- data tilgang
- Data Analytics
- dataintegrasjon
- datavitenskap
- datavisualisering
- datalager
- datavarehus
- Database
- dag
- dyp læring
- ødelegge
- digitalt
- Regissør
- Funnet
- ingeniør
- Ingeniører
- Erfaringer
- Først
- Fokus
- følge
- format
- Gratis
- Gull
- Google Cloud
- GPU
- veilede
- her.
- Høy
- Hvordan
- HTTPS
- Hundrevis
- Hybrid
- IAM
- bilde
- Inkludert
- Infrastruktur
- integrering
- involvert
- IOT
- IT
- LÆRE
- læring
- lokal
- lokalt
- maskinlæring
- Making
- medium
- ML
- penger
- musikk
- på nett
- åpen
- åpen kildekode
- Mening
- alternativer
- Passord
- ytelse
- plattform
- Populær
- prosjekt
- offentlig
- område
- Lesning
- redusere
- ressurs
- Ressurser
- Kjør
- rennende
- Vitenskap
- forskere
- SDK
- Selvbetjening
- Tjenester
- Enkelt
- Solutions
- Snurre rundt
- SQL
- Begynn
- startet
- opphold
- Stories
- Systemer
- Technologies
- tid
- topp
- Transformation
- transformere
- ui
- verdi
- visualisering
- vente
- Warehouse
- Hva er
- Arbeid
- arbeidsflyt
- X
- år